==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba000004120 by main thread:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Core::Internal::MainWindow::registerDefaultContainers() ../../src/plugins/coreplugin/mainwindow.cpp:417 (libCore.so+0x3c800f)
    #3 Core::Internal::MainWindow::MainWindow() ../../src/plugins/coreplugin/mainwindow.cpp:170 (libCore.so+0x3d3706)
    #4 Core::Internal::CorePlugin::initialize(QStringList const&, QString*) ../../src/plugins/coreplugin/coreplugin.cpp:174 (libCore.so+0x153921)
    #5 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #6 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #7 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #8 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #9 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous write of size 8 at 0x7ba000004120 by thread T4:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 18 created by thread T4 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T4 'QDBusConnection' (tid=1301473, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::Internal::MainWindow::registerDefaultContainers() ../../src/plugins/coreplugin/mainwindow.cpp:417 (libCore.so+0x3c800f)
    #3 Core::Internal::MainWindow::MainWindow() ../../src/plugins/coreplugin/mainwindow.cpp:170 (libCore.so+0x3d3706)
    #4 Core::Internal::CorePlugin::initialize(QStringList const&, QString*) ../../src/plugins/coreplugin/coreplugin.cpp:174 (libCore.so+0x153921)
    #5 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #6 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #7 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #8 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #9 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 1 at 0x7b0c00061b60 by main thread:
    #0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4165 (libtsan.so.0+0x526fc)
    #1 _dbus_lock ../../../dbus/dbus-threads.c:346 (libdbus-1.so.3+0x2a2e2)
    #2 Core::Internal::MainWindow::registerDefaultContainers() ../../src/plugins/coreplugin/mainwindow.cpp:417 (libCore.so+0x3c800f)
    #3 Core::Internal::MainWindow::MainWindow() ../../src/plugins/coreplugin/mainwindow.cpp:170 (libCore.so+0x3d3706)
    #4 Core::Internal::CorePlugin::initialize(QStringList const&, QString*) ../../src/plugins/coreplugin/coreplugin.cpp:174 (libCore.so+0x153921)
    #5 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #6 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #7 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #8 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #9 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous write of size 8 at 0x7b0c00061b60 by thread T4 (mutexes: write M300193061912142432):
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 _dbus_platform_rmutex_new ../../../dbus/dbus-sysdeps-pthread.c:114 (libdbus-1.so.3+0x36ce5)

  Location is heap block of size 40 at 0x7b0c00061b60 allocated by thread T4:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 _dbus_platform_rmutex_new ../../../dbus/dbus-sysdeps-pthread.c:114 (libdbus-1.so.3+0x36ce5)

  Mutex M300193061912142432 is already destroyed.

  Thread T4 'QDBusConnection' (tid=1301473, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::Internal::MainWindow::registerDefaultContainers() ../../src/plugins/coreplugin/mainwindow.cpp:417 (libCore.so+0x3c800f)
    #3 Core::Internal::MainWindow::MainWindow() ../../src/plugins/coreplugin/mainwindow.cpp:170 (libCore.so+0x3d3706)
    #4 Core::Internal::CorePlugin::initialize(QStringList const&, QString*) ../../src/plugins/coreplugin/coreplugin.cpp:174 (libCore.so+0x153921)
    #5 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #6 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #7 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #8 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #9 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../dbus/dbus-threads.c:346 in _dbus_lock
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b5000050e40 by thread T6:
    #0 memset ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:795 (libtsan.so.0+0x3790f)
    #1 memset ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:793 (libtsan.so.0+0x3790f)
    #2 memset /usr/include/x86_64-linux-gnu/bits/string_fortified.h:71 (libglib-2.0.so.0+0x70ac2)
    #3 g_slice_alloc0 ../../../glib/gslice.c:1053 (libglib-2.0.so.0+0x70ac2)

  Previous write of size 8 at 0x7b5000050e40 by thread T5:
    #0 posix_memalign ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:835 (libtsan.so.0+0x3046d)
    #1 allocator_memalign ../../../glib/gslice.c:1412 (libglib-2.0.so.0+0x6f936)
    #2 allocator_add_slab ../../../glib/gslice.c:1284 (libglib-2.0.so.0+0x6f936)
    #3 slab_allocator_alloc_chunk ../../../glib/gslice.c:1330 (libglib-2.0.so.0+0x6f936)

  Location is heap block of size 496 at 0x7b5000050e00 allocated by thread T5:
    #0 posix_memalign ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:835 (libtsan.so.0+0x3046d)
    #1 allocator_memalign ../../../glib/gslice.c:1412 (libglib-2.0.so.0+0x6f936)
    #2 allocator_add_slab ../../../glib/gslice.c:1284 (libglib-2.0.so.0+0x6f936)
    #3 slab_allocator_alloc_chunk ../../../glib/gslice.c:1330 (libglib-2.0.so.0+0x6f936)

  Thread T6 (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T5 'QThread' (tid=1301551, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270c36)
    #3 void Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instantiateDependencies<Utils::ProcessReaper>() ../../src/libs/utils/singleton.h:97 (libUtils.so.7+0x270c36)
    #4 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:74 (libUtils.so.7+0x270c36)
    #5 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270c36)
    #6 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #7 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #8 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #9 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #10 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #11 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #12 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #13 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #14 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #15 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #16 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #17 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #19 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #20 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #21 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:71 in memset
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f5530 by thread T6:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::LauncherInterfacePrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x2712a0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f5530 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::LauncherInterfacePrivate::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::LauncherInterfacePrivate::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::Object*, void (Utils::Internal::LauncherInterfacePrivate::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x26fef8)
    #2 Utils::LauncherInterface::LauncherInterface() ../../src/libs/utils/launcherinterface.cpp:206 (libUtils.so.7+0x26fef8)
    #3 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #4 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #5 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #6 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #7 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #8 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #9 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #10 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #11 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #12 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #13 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #14 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #15 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #16 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #19 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #20 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 32 at 0x7b08000f5520 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::LauncherInterfacePrivate::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::LauncherInterfacePrivate::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::Object*, void (Utils::Internal::LauncherInterfacePrivate::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x26fef8)
    #2 Utils::LauncherInterface::LauncherInterface() ../../src/libs/utils/launcherinterface.cpp:206 (libUtils.so.7+0x26fef8)
    #3 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #4 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #5 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #6 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #7 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #8 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #9 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #10 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #11 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #12 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #13 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #14 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #15 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #16 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #19 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #20 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::LauncherInterfacePrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f5538 by thread T6:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::LauncherInterfacePrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x2712ad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f5538 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::LauncherInterfacePrivate::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::LauncherInterfacePrivate::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::Object*, void (Utils::Internal::LauncherInterfacePrivate::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x26fef8)
    #2 Utils::LauncherInterface::LauncherInterface() ../../src/libs/utils/launcherinterface.cpp:206 (libUtils.so.7+0x26fef8)
    #3 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #4 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #5 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #6 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #7 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #8 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #9 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #10 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #11 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #12 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #13 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #14 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #15 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #16 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #19 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #20 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 32 at 0x7b08000f5520 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::LauncherInterfacePrivate::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::LauncherInterfacePrivate::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::Object*, void (Utils::Internal::LauncherInterfacePrivate::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x26fef8)
    #2 Utils::LauncherInterface::LauncherInterface() ../../src/libs/utils/launcherinterface.cpp:206 (libUtils.so.7+0x26fef8)
    #3 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #4 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #5 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #6 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #7 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #8 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #9 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #10 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #11 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #12 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #13 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #14 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #15 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #16 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #19 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #20 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::LauncherInterfacePrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f5520 by thread T6:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::LauncherInterfacePrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x2712f9)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2f8236)
    #3 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:606 (libQt5Core.so.5+0x2f8236)

  Previous write of size 8 at 0x7b08000f5520 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::LauncherInterfacePrivate::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::LauncherInterfacePrivate::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::Object*, void (Utils::Internal::LauncherInterfacePrivate::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x26fef8)
    #2 Utils::LauncherInterface::LauncherInterface() ../../src/libs/utils/launcherinterface.cpp:206 (libUtils.so.7+0x26fef8)
    #3 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #4 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #5 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #6 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #7 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #8 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #9 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #10 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #11 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #12 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #13 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #14 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #15 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #16 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #19 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #20 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c000470a0 by thread T6:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c000470a0 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1550 (libQt5Core.so.5+0x2d158b)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f5710 by thread T6:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27aec0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f5710 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::LauncherSocket::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::LauncherSocket::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::Object*, void (Utils::Internal::LauncherSocket::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x276941)
    #2 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:567 (libUtils.so.7+0x276941)
    #3 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #4 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #5 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #6 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #7 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #8 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #9 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #11 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #12 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #13 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #14 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #15 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #16 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #17 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #18 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #19 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #20 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #21 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #22 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #23 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #24 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #25 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 32 at 0x7b08000f5700 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::LauncherSocket::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::LauncherSocket::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::Object*, void (Utils::Internal::LauncherSocket::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x276941)
    #2 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:567 (libUtils.so.7+0x276941)
    #3 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #4 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #5 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #6 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #7 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #8 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #9 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #11 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #12 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #13 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #14 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #15 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #16 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #17 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #18 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #19 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #20 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #21 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #22 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #23 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #24 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #25 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f5718 by thread T6:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27aecd)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f5718 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::LauncherSocket::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::LauncherSocket::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::Object*, void (Utils::Internal::LauncherSocket::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x276941)
    #2 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:567 (libUtils.so.7+0x276941)
    #3 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #4 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #5 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #6 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #7 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #8 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #9 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #11 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #12 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #13 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #14 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #15 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #16 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #17 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #18 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #19 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #20 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #21 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #22 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #23 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #24 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #25 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 32 at 0x7b08000f5700 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::LauncherSocket::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::LauncherSocket::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::Object*, void (Utils::Internal::LauncherSocket::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x276941)
    #2 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:567 (libUtils.so.7+0x276941)
    #3 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #4 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #5 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #6 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #7 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #8 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #9 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #11 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #12 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #13 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #14 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #15 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #16 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #17 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #18 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #19 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #20 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #21 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #22 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #23 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #24 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #25 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f5700 by thread T6:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27af19)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2f8236)
    #3 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:606 (libQt5Core.so.5+0x2f8236)

  Previous write of size 8 at 0x7b08000f5700 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::LauncherSocket::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::LauncherSocket::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::Object*, void (Utils::Internal::LauncherSocket::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x276941)
    #2 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:567 (libUtils.so.7+0x276941)
    #3 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #4 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #5 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #6 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #7 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #8 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #9 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #11 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #12 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #13 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #14 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #15 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #16 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #17 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #18 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #19 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #20 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #21 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #22 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #23 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #24 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #25 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c00047180 by thread T6:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c00047180 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1550 (libQt5Core.so.5+0x2d158b)
    #2 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #3 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #4 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #5 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #6 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #7 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #8 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #9 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #10 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #11 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #12 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #13 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #14 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #15 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #16 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #17 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #18 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #19 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #20 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #21 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #22 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #23 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #24 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b200004ced8 by thread T6:
    #0 std::vector<QByteArray, std::allocator<QByteArray> >::operator=(std::vector<QByteArray, std::allocator<QByteArray> > const&) /usr/include/c++/9/bits/vector.tcc:223 (libUtils.so.7+0x27ba87)
    #1 Utils::Internal::LauncherSocket::handleRequests() ../../src/libs/utils/launchersocket.cpp:710 (libUtils.so.7+0x2761e2)
    #2 Utils::Internal::LauncherSocket::setSocket(QLocalSocket*) ../../src/libs/utils/launchersocket.cpp:627 (libUtils.so.7+0x2767f8)
    #3 Utils::Internal::LauncherInterfacePrivate::handleNewConnection() ../../src/libs/utils/launcherinterface.cpp:154 (libUtils.so.7+0x26dbe6)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherInterfacePrivate::*)()>::call(void (Utils::Internal::LauncherInterfacePrivate::*)(), Utils::Internal::LauncherInterfacePrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x2712d7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherInterfacePrivate::*)(), Utils::Internal::LauncherInterfacePrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x2712d7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherInterfacePrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x2712d7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b200004ced8 by main thread:
    #0 void std::vector<QByteArray, std::allocator<QByteArray> >::_M_realloc_insert<QByteArray const&>(__gnu_cxx::__normal_iterator<QByteArray*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray const&) /usr/include/c++/9/bits/vector.tcc:502 (libUtils.so.7+0x27c4e3)
    #1 std::vector<QByteArray, std::allocator<QByteArray> >::push_back(QByteArray const&) /usr/include/c++/9/bits/stl_vector.h:1195 (libUtils.so.7+0x2769bd)
    #2 operator() ../../src/libs/utils/launchersocket.cpp:562 (libUtils.so.7+0x2769bd)
    #3 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:566 (libUtils.so.7+0x2769bd)
    #4 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #5 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #6 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #7 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #8 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #9 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #11 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #12 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #13 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #14 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #15 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #16 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #17 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #18 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #19 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #20 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #21 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #22 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #23 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #24 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #25 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #26 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 128 at 0x7b200004ce80 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherInterfacePrivate::LauncherInterfacePrivate() ../../src/libs/utils/launcherinterface.cpp:107 (libUtils.so.7+0x26eab8)
    #2 Utils::LauncherInterface::LauncherInterface() ../../src/libs/utils/launcherinterface.cpp:189 (libUtils.so.7+0x26f996)
    #3 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #4 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #5 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #6 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #7 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #8 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #9 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #10 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #11 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #12 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #13 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #14 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #15 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #16 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #19 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #20 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/vector.tcc:223 in std::vector<QByteArray, std::allocator<QByteArray> >::operator=(std::vector<QByteArray, std::allocator<QByteArray> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b200004cee0 by thread T6:
    #0 std::vector<QByteArray, std::allocator<QByteArray> >::operator=(std::vector<QByteArray, std::allocator<QByteArray> > const&) /usr/include/c++/9/bits/vector.tcc:223 (libUtils.so.7+0x27ba9b)
    #1 Utils::Internal::LauncherSocket::handleRequests() ../../src/libs/utils/launchersocket.cpp:710 (libUtils.so.7+0x2761e2)
    #2 Utils::Internal::LauncherSocket::setSocket(QLocalSocket*) ../../src/libs/utils/launchersocket.cpp:627 (libUtils.so.7+0x2767f8)
    #3 Utils::Internal::LauncherInterfacePrivate::handleNewConnection() ../../src/libs/utils/launcherinterface.cpp:154 (libUtils.so.7+0x26dbe6)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherInterfacePrivate::*)()>::call(void (Utils::Internal::LauncherInterfacePrivate::*)(), Utils::Internal::LauncherInterfacePrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x2712d7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherInterfacePrivate::*)(), Utils::Internal::LauncherInterfacePrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x2712d7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherInterfacePrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x2712d7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b200004cee0 by main thread:
    #0 void std::vector<QByteArray, std::allocator<QByteArray> >::_M_realloc_insert<QByteArray const&>(__gnu_cxx::__normal_iterator<QByteArray*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray const&) /usr/include/c++/9/bits/vector.tcc:503 (libUtils.so.7+0x27c4f6)
    #1 std::vector<QByteArray, std::allocator<QByteArray> >::push_back(QByteArray const&) /usr/include/c++/9/bits/stl_vector.h:1195 (libUtils.so.7+0x2769bd)
    #2 operator() ../../src/libs/utils/launchersocket.cpp:562 (libUtils.so.7+0x2769bd)
    #3 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:566 (libUtils.so.7+0x2769bd)
    #4 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #5 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #6 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #7 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #8 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #9 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #11 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #12 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #13 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #14 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #15 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #16 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #17 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #18 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #19 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #20 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #21 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #22 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #23 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #24 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #25 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #26 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 128 at 0x7b200004ce80 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherInterfacePrivate::LauncherInterfacePrivate() ../../src/libs/utils/launcherinterface.cpp:107 (libUtils.so.7+0x26eab8)
    #2 Utils::LauncherInterface::LauncherInterface() ../../src/libs/utils/launcherinterface.cpp:189 (libUtils.so.7+0x26f996)
    #3 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #4 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #5 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #6 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #7 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #8 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #9 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #10 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #11 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #12 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #13 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #14 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #15 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #16 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #19 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #20 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/vector.tcc:223 in std::vector<QByteArray, std::allocator<QByteArray> >::operator=(std::vector<QByteArray, std::allocator<QByteArray> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0400030270 by thread T6:
    #0 QByteArray* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:83 (libUtils.so.7+0x27bc4c)
    #1 QByteArray* std::uninitialized_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:140 (libUtils.so.7+0x27bc4c)
    #2 QByteArray* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, QByteArray>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, std::allocator<QByteArray>&) /usr/include/c++/9/bits/stl_uninitialized.h:307 (libUtils.so.7+0x27bc4c)
    #3 QByteArray* std::vector<QByteArray, std::allocator<QByteArray> >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > > >(unsigned long, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >) /usr/include/c++/9/bits/stl_vector.h:1511 (libUtils.so.7+0x27bc4c)
    #4 std::vector<QByteArray, std::allocator<QByteArray> >::operator=(std::vector<QByteArray, std::allocator<QByteArray> > const&) /usr/include/c++/9/bits/vector.tcc:226 (libUtils.so.7+0x27bc4c)
    #5 Utils::Internal::LauncherSocket::handleRequests() ../../src/libs/utils/launchersocket.cpp:710 (libUtils.so.7+0x2761e2)
    #6 Utils::Internal::LauncherSocket::setSocket(QLocalSocket*) ../../src/libs/utils/launchersocket.cpp:627 (libUtils.so.7+0x2767f8)
    #7 Utils::Internal::LauncherInterfacePrivate::handleNewConnection() ../../src/libs/utils/launcherinterface.cpp:154 (libUtils.so.7+0x26dbe6)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherInterfacePrivate::*)()>::call(void (Utils::Internal::LauncherInterfacePrivate::*)(), Utils::Internal::LauncherInterfacePrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x2712d7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherInterfacePrivate::*)(), Utils::Internal::LauncherInterfacePrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x2712d7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherInterfacePrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x2712d7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0400030270 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 __gnu_cxx::new_allocator<QByteArray>::allocate(unsigned long, void const*) /usr/include/c++/9/ext/new_allocator.h:114 (libUtils.so.7+0x27c318)
    #2 std::allocator_traits<std::allocator<QByteArray> >::allocate(std::allocator<QByteArray>&, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:443 (libUtils.so.7+0x27c318)
    #3 std::_Vector_base<QByteArray, std::allocator<QByteArray> >::_M_allocate(unsigned long) /usr/include/c++/9/bits/stl_vector.h:343 (libUtils.so.7+0x27c318)
    #4 void std::vector<QByteArray, std::allocator<QByteArray> >::_M_realloc_insert<QByteArray const&>(__gnu_cxx::__normal_iterator<QByteArray*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray const&) /usr/include/c++/9/bits/vector.tcc:440 (libUtils.so.7+0x27c318)
    #5 std::vector<QByteArray, std::allocator<QByteArray> >::push_back(QByteArray const&) /usr/include/c++/9/bits/stl_vector.h:1195 (libUtils.so.7+0x2769bd)
    #6 operator() ../../src/libs/utils/launchersocket.cpp:562 (libUtils.so.7+0x2769bd)
    #7 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:566 (libUtils.so.7+0x2769bd)
    #8 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #9 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #10 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #11 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #12 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #13 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #14 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #15 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #16 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #17 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #18 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #19 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #20 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #21 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #22 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #23 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #24 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #25 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #26 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #27 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #28 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #29 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #30 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 8 at 0x7b0400030270 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 __gnu_cxx::new_allocator<QByteArray>::allocate(unsigned long, void const*) /usr/include/c++/9/ext/new_allocator.h:114 (libUtils.so.7+0x27c318)
    #2 std::allocator_traits<std::allocator<QByteArray> >::allocate(std::allocator<QByteArray>&, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:443 (libUtils.so.7+0x27c318)
    #3 std::_Vector_base<QByteArray, std::allocator<QByteArray> >::_M_allocate(unsigned long) /usr/include/c++/9/bits/stl_vector.h:343 (libUtils.so.7+0x27c318)
    #4 void std::vector<QByteArray, std::allocator<QByteArray> >::_M_realloc_insert<QByteArray const&>(__gnu_cxx::__normal_iterator<QByteArray*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray const&) /usr/include/c++/9/bits/vector.tcc:440 (libUtils.so.7+0x27c318)
    #5 std::vector<QByteArray, std::allocator<QByteArray> >::push_back(QByteArray const&) /usr/include/c++/9/bits/stl_vector.h:1195 (libUtils.so.7+0x2769bd)
    #6 operator() ../../src/libs/utils/launchersocket.cpp:562 (libUtils.so.7+0x2769bd)
    #7 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:566 (libUtils.so.7+0x2769bd)
    #8 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #9 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #10 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #11 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #12 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #13 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #14 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #15 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #16 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #17 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #18 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #19 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #20 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #21 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #22 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #23 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #24 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #25 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #26 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #27 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #28 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #29 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #30 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_uninitialized.h:83 in QByteArray* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7ba000024000 by thread T6:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27bc64)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27bc64)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27bc64)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27bc64)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x27bc64)
    #6 void std::_Construct<QByteArray, QByteArray const&>(QByteArray*, QByteArray const&) /usr/include/c++/9/bits/stl_construct.h:75 (libUtils.so.7+0x27bc64)
    #7 QByteArray* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:83 (libUtils.so.7+0x27bc64)
    #8 QByteArray* std::uninitialized_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:140 (libUtils.so.7+0x27bc64)
    #9 QByteArray* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, QByteArray>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, std::allocator<QByteArray>&) /usr/include/c++/9/bits/stl_uninitialized.h:307 (libUtils.so.7+0x27bc64)
    #10 QByteArray* std::vector<QByteArray, std::allocator<QByteArray> >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > > >(unsigned long, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >) /usr/include/c++/9/bits/stl_vector.h:1511 (libUtils.so.7+0x27bc64)
    #11 std::vector<QByteArray, std::allocator<QByteArray> >::operator=(std::vector<QByteArray, std::allocator<QByteArray> > const&) /usr/include/c++/9/bits/vector.tcc:226 (libUtils.so.7+0x27bc64)
    #12 Utils::Internal::LauncherSocket::handleRequests() ../../src/libs/utils/launchersocket.cpp:710 (libUtils.so.7+0x2761e2)
    #13 Utils::Internal::LauncherSocket::setSocket(QLocalSocket*) ../../src/libs/utils/launchersocket.cpp:627 (libUtils.so.7+0x2767f8)
    #14 Utils::Internal::LauncherInterfacePrivate::handleNewConnection() ../../src/libs/utils/launcherinterface.cpp:154 (libUtils.so.7+0x26dbe6)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherInterfacePrivate::*)()>::call(void (Utils::Internal::LauncherInterfacePrivate::*)(), Utils::Internal::LauncherInterfacePrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x2712d7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherInterfacePrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherInterfacePrivate::*)(), Utils::Internal::LauncherInterfacePrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x2712d7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherInterfacePrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x2712d7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba000024000 by main thread:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 QDataStream& operator<< <QString>(QDataStream&, QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qdatastream.h:431 (libUtils.so.7+0x272349)
    #3 Utils::Internal::StartProcessPacket::doSerialize(QDataStream&) const ../../src/libs/utils/launcherpackets.cpp:63 (libUtils.so.7+0x272349)
    #4 Utils::Internal::LauncherPacket::serialize() const ../../src/libs/utils/launcherpackets.cpp:40 (libUtils.so.7+0x271c1d)
    #5 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737c5)
    #6 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #7 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #8 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #9 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #11 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #12 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #13 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #14 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #15 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #16 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #17 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #18 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #19 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #20 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #21 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #22 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #23 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #24 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #25 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #26 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 16384 at 0x7ba000024000 allocated by main thread:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 QDataStream& operator<< <QString>(QDataStream&, QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qdatastream.h:431 (libUtils.so.7+0x272349)
    #3 Utils::Internal::StartProcessPacket::doSerialize(QDataStream&) const ../../src/libs/utils/launcherpackets.cpp:63 (libUtils.so.7+0x272349)
    #4 Utils::Internal::LauncherPacket::serialize() const ../../src/libs/utils/launcherpackets.cpp:40 (libUtils.so.7+0x271c1d)
    #5 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737c5)
    #6 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #7 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #8 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #9 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #11 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #12 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #13 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #14 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #15 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #16 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #17 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #18 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #19 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #20 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #21 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #22 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #23 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #24 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #25 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #26 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba000004180 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba000004180 by thread T7:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 24 created by thread T7 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T7 'QThread' (tid=1301553, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bceab)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f8070 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bceab)
    #11 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #12 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #13 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #14 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #15 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #16 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #17 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #18 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #19 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #20 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #21 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #22 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous read of size 8 at 0x7b08000f8070 by thread T7:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T7 'QThread' (tid=1301553, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bceab)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1400073cf0 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b1400073cf0 by thread T7:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b1400073cd0 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #7 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #8 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #9 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #10 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #11 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #12 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #13 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #14 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #17 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #18 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T7 'QThread' (tid=1301553, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bceab)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b500004a6c8 by thread T8:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b500004a6c8 by main thread:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #6 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #7 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #8 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #9 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #10 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #11 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #12 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 472 at 0x7b500004a600 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:379 (libCppEditor.so+0x1bccbf)
    #3 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #4 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #5 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #6 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #7 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #8 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #9 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #10 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #11 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #13 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #14 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T8 'QThread' (tid=1301557, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #4 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #5 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #6 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #7 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #8 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #9 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #10 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #11 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #13 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #14 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #15 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08000f726c by main thread:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x3188da)
    #1 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x3188da)
    #2 Utils::Internal::QtcProcessPrivate::shouldFlush() const ../../src/libs/utils/qtcprocess.cpp:660 (libUtils.so.7+0x3188da)
    #3 Utils::Internal::ProcessInterfaceHandler::doWaitForSignal(QDeadlineTimer) ../../src/libs/utils/qtcprocess.cpp:744 (libUtils.so.7+0x3188da)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:719 (libUtils.so.7+0x324221)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous write of size 8 at 0x7b08000f7268 by thread T8:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7260 allocated by thread T8:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T8 'QThread' (tid=1301557, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #4 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #5 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #6 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #7 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #8 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #9 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #10 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #11 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #13 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #14 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #15 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 in QListData::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7270 by main thread:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x323cc7)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cc7)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cc7)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cc7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous write of size 8 at 0x7b08000f7270 by thread T8:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7260 allocated by thread T8:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T8 'QThread' (tid=1301557, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #4 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #5 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #6 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #7 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #8 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #9 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #10 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #11 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #13 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #14 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #15 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a17e8 by main thread:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/qtcprocess.cpp:807 (libUtils.so.7+0x323cd3)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cd3)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cd3)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cd3)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous write of size 8 at 0x7b0c001a17e8 by thread T8:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a17e0 allocated by thread T8:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T8 'QThread' (tid=1301557, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #4 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #5 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #6 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #7 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #8 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #9 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #10 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #11 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #13 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #14 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #15 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/qtcprocess.cpp:807 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08000f7260 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x3292ce)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x3292ce)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x3292ce)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x3292ce)
    #5 QList<Utils::Internal::ProcessInterfaceSignal*>::QList(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x3292ce)
    #6 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x323f4c)
    #7 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:818 (libUtils.so.7+0x323f4c)
    #8 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #9 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #10 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #11 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #12 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #13 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #14 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #15 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #16 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #17 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #18 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #19 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #20 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #21 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #22 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #23 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous write of size 8 at 0x7b08000f7260 by thread T8:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7260 allocated by thread T8:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T8 'QThread' (tid=1301557, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #4 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #5 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #6 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #7 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #8 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #9 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #10 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #11 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #13 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #14 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #15 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a17f0 by main thread:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd50)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd50)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd50)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous write of size 8 at 0x7b0c001a17f0 by thread T8:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a17e0 allocated by thread T8:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T8 'QThread' (tid=1301557, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #4 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #5 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #6 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #7 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #8 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #9 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #10 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #11 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #13 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #14 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #15 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a17f8 by main thread:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd85)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd85)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd85)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous write of size 8 at 0x7b0c001a17f8 by thread T8:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a17e0 allocated by thread T8:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T8 'QThread' (tid=1301557, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #4 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #5 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #6 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #7 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #8 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #9 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #10 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #11 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #13 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #14 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #15 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c001a1800 by main thread:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x31fda1)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fda1)
    #2 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fda1)
    #3 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fda1)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #8 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #9 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #10 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #11 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #12 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #13 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #14 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #15 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #16 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #19 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #20 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous write of size 8 at 0x7b0c001a1800 by thread T8:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a17e0 allocated by thread T8:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T8 'QThread' (tid=1301557, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #4 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #5 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #6 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #7 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #8 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #9 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #10 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #11 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #13 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #14 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #15 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000be200 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x31fdbc)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x31fdbc)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x31fdbc)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x31fdbc)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x31fdbc)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fdbc)
    #7 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fdbc)
    #8 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fdbc)
    #9 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #10 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #11 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #12 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #13 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:382 (libCppEditor.so+0x1bcfd4)
    #14 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #15 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #16 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #17 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #18 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #19 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #20 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #21 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #22 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #23 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #24 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #25 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous write of size 8 at 0x7b10000be200 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be200 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b500004b4c8 by thread T11:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b500004b4c8 by main thread:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:48 (libCppcheck.so+0x27b21)
    #6 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #7 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #8 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22e1e)
    #9 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #10 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #11 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #13 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #14 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 472 at 0x7b500004b400 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:45 (libCppcheck.so+0x2778a)
    #3 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #4 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #5 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22e1e)
    #6 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T11 'QThread' (tid=1301562, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:48 (libCppcheck.so+0x27b21)
    #4 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #5 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #6 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22e1e)
    #7 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1400075000 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b1400075000 by thread T9:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b1400074fe0 allocated by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 LanguageClient::StdIOClientInterface::startImpl() ../../src/plugins/languageclient/languageclientinterface.cpp:127 (libLanguageClient.so+0x12b092)
    #7 LanguageClient::BaseClientInterface::start() ../../src/plugins/languageclient/languageclientinterface.h:49 (libLanguageClient.so+0xa7101)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::BaseClientInterface::*)()>::call(void (LanguageClient::BaseClientInterface::*)(), LanguageClient::BaseClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3e97)
    #9 void QtPrivate::FunctionPointer<void (LanguageClient::BaseClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::BaseClientInterface::*)(), LanguageClient::BaseClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3e97)
    #10 QtPrivate::QSlotObject<void (LanguageClient::BaseClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3e97)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #12 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b2000054218 by thread T11:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Previous write of size 8 at 0x7b2000054218 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 120 at 0x7b2000054200 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T11 'QThread' (tid=1301562, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:48 (libCppcheck.so+0x27b21)
    #4 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #5 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #6 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22e1e)
    #7 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f7310 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #6 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:48 (libCppcheck.so+0x27b21)
    #7 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #8 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #9 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22e1e)
    #10 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #11 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #13 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #14 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #15 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous read of size 8 at 0x7b08000f7310 by thread T11:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T11 'QThread' (tid=1301562, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:48 (libCppcheck.so+0x27b21)
    #4 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #5 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #6 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22e1e)
    #7 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 4 at 0x7b0c0019ee54 by main thread:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::erase(QHash<unsigned long long, Utils::Internal::LauncherHandle*>::const_iterator) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:887 (libUtils.so.7+0x27c8e7)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::erase(QHash<unsigned long long, Utils::Internal::LauncherHandle*>::iterator) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:521 (libUtils.so.7+0x277435)
    #2 Utils::Internal::LauncherSocket::unregisterHandle(unsigned long long) ../../src/libs/utils/launchersocket.cpp:605 (libUtils.so.7+0x277435)
    #3 Utils::LauncherInterface::unregisterHandle(unsigned long long) ../../src/libs/utils/launcherinterface.cpp:244 (libUtils.so.7+0x2705c5)
    #4 Utils::Internal::ProcessLauncherImpl::~ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:441 (libUtils.so.7+0x32a0f1)
    #5 Utils::Internal::ProcessLauncherImpl::~ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:443 (libUtils.so.7+0x32a0f1)
    #6 std::unique_ptr<Utils::ProcessInterface, std::default_delete<Utils::ProcessInterface> >::~unique_ptr() /usr/include/c++/9/bits/unique_ptr.h:81 (libUtils.so.7+0x32b092)
    #7 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b092)
    #8 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b092)
    #9 Utils::QtcProcess::~QtcProcess() ../../src/libs/utils/qtcprocess.cpp:985 (libUtils.so.7+0x318b7b)
    #10 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:45 (libCppcheck.so+0x27c35)
    #11 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #12 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #13 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22e1e)
    #14 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous read of size 4 at 0x7b0c0019ee54 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a45)
    #1 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a45)
    #2 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #4 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #5 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 48 at 0x7b0c0019ee40 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libUtils.so.7+0x276f6f)
    #3 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::insert(unsigned long long const&, Utils::Internal::LauncherHandle* const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libUtils.so.7+0x276f6f)
    #4 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:584 (libUtils.so.7+0x276f6f)
    #5 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #6 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #7 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #8 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #9 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #10 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #11 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #12 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #13 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #14 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #15 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #16 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #17 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #19 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #20 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #21 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:887 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::erase(QHash<unsigned long long, Utils::Internal::LauncherHandle*>::const_iterator)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b500004c2c8 by thread T12:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b500004c2c8 by main thread:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:48 (libCppcheck.so+0x27b21)
    #6 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #7 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #8 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22ea5)
    #9 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #10 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #11 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #13 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #14 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 472 at 0x7b500004c200 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:45 (libCppcheck.so+0x2778a)
    #3 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #4 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #5 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22ea5)
    #6 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T12 'QThread' (tid=1301565, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:48 (libCppcheck.so+0x27b21)
    #4 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #5 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #6 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22ea5)
    #7 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b2000054298 by thread T12:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Previous write of size 8 at 0x7b2000054298 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 120 at 0x7b2000054280 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301565, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:48 (libCppcheck.so+0x27b21)
    #4 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #5 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #6 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22ea5)
    #7 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f73f0 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #6 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:48 (libCppcheck.so+0x27b21)
    #7 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #8 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #9 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22ea5)
    #10 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #11 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #12 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #13 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #14 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #15 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous read of size 8 at 0x7b08000f73f0 by thread T12:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T12 'QThread' (tid=1301565, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Cppcheck::Internal::CppcheckRunner::CppcheckRunner(Cppcheck::Internal::CppcheckTool&) ../../src/plugins/cppcheck/cppcheckrunner.cpp:48 (libCppcheck.so+0x27b21)
    #4 std::_MakeUniq<Cppcheck::Internal::CppcheckRunner>::__single_object std::make_unique<Cppcheck::Internal::CppcheckRunner, Cppcheck::Internal::CppcheckTool&>(Cppcheck::Internal::CppcheckTool&) /usr/include/c++/9/bits/unique_ptr.h:857 (libCppcheck.so+0x3911f)
    #5 Cppcheck::Internal::CppcheckTool::CppcheckTool(Cppcheck::Internal::CppcheckDiagnosticManager&, Utils::Id const&) ../../src/plugins/cppcheck/cppchecktool.cpp:55 (libCppcheck.so+0x3911f)
    #6 Cppcheck::Internal::CppcheckPluginPrivate::CppcheckPluginPrivate() ../../src/plugins/cppcheck/cppcheckplugin.cpp:74 (libCppcheck.so+0x22ea5)
    #7 Cppcheck::Internal::CppcheckPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppcheck/cppcheckplugin.cpp:163 (libCppcheck.so+0x23c27)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800107070 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #12 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #13 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #14 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #15 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #16 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #17 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #18 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #19 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #20 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #21 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #22 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #23 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #24 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous read of size 8 at 0x7b0800107070 by thread T13:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T13 'QThread' (tid=1301568, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #12 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #13 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #14 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #15 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #16 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #17 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #19 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #20 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #21 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7470 by thread T14:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7470 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7460 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7478 by thread T14:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7478 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7460 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08000f744c by thread T14:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7448 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7440 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7450 by thread T14:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7450 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7440 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08000fe068 by thread T14:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000fe068 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000fe060 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7458 by thread T14:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7458 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7440 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a68b8 by thread T14:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c001a68b8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c001a68b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08000f7440 by thread T14:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7440 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7440 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000fe078 by thread T14:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000fe078 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000fe060 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000fe070 by thread T14:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000fe070 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000fe060 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c001a0430 by thread T14:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c001a0430 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 44 at 0x7b0c001a0430 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a68c0 by thread T14:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c001a68c0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c001a68b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a68c8 by thread T14:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c001a68c8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c001a68b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c001a68d0 by thread T14:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c001a68d0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c001a68b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000bb980 by thread T14:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000bb980 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000bb980 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b500004cac8 by thread T14:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b500004cac8 by main thread:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #7 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #8 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #9 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #10 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #11 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #12 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #13 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #14 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 472 at 0x7b500004ca00 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3615 (libGit.so+0x123ba6)
    #3 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #4 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #5 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #6 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T14 'QThread' (tid=1301571, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsSynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:221 (libVcsBase.so+0x84998)
    #8 Git::Internal::GitClient::synchronousGitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3616 (libGit.so+0x123c03)
    #9 Git::Internal::GitClient::gitVersion(QString*) const ../../src/plugins/git/gitclient.cpp:3602 (libGit.so+0x123fa2)
    #10 Git::Internal::GitGrep::GitGrep(Git::Internal::GitClient*) ../../src/plugins/git/gitgrep.cpp:250 (libGit.so+0x146f90)
    #11 Git::Internal::GitPluginPrivate::GitPluginPrivate() ../../src/plugins/git/gitplugin.cpp:658 (libGit.so+0x15d033)
    #12 Git::Internal::GitPlugin::initialize(QStringList const&, QString*) ../../src/plugins/git/gitplugin.cpp:641 (libGit.so+0x162eaa)
    #13 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #14 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #15 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #16 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #17 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
file:///home/iivlev/Qt/build/qt-creator/BUILD/build/share/qtcreator/qmldesigner/landingpage/main.qml: Library import requires a version
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50000426c8 by thread T19:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50000426c8 by main thread:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 isSilverSearcherAvailable ../../src/plugins/silversearcher/findinfilessilversearcher.cpp:92 (libSilverSearcher.so+0x8455)
    #6 SilverSearcher::FindInFilesSilverSearcher::FindInFilesSilverSearcher(QObject*) ../../src/plugins/silversearcher/findinfilessilversearcher.cpp:179 (libSilverSearcher.so+0x8455)
    #7 SilverSearcher::Internal::SilverSearcherPlugin::initialize(QStringList const&, QString*) ../../src/plugins/silversearcher/silversearcherplugin.cpp:38 (libSilverSearcher.so+0x1035f)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Location is heap block of size 472 at 0x7b5000042600 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 isSilverSearcherAvailable ../../src/plugins/silversearcher/findinfilessilversearcher.cpp:89 (libSilverSearcher.so+0x8090)
    #3 SilverSearcher::FindInFilesSilverSearcher::FindInFilesSilverSearcher(QObject*) ../../src/plugins/silversearcher/findinfilessilversearcher.cpp:179 (libSilverSearcher.so+0x8090)
    #4 SilverSearcher::Internal::SilverSearcherPlugin::initialize(QStringList const&, QString*) ../../src/plugins/silversearcher/silversearcherplugin.cpp:38 (libSilverSearcher.so+0x1035f)
    #5 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #6 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #7 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #8 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #9 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T19 'QThread' (tid=1301594, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 isSilverSearcherAvailable ../../src/plugins/silversearcher/findinfilessilversearcher.cpp:92 (libSilverSearcher.so+0x8455)
    #4 SilverSearcher::FindInFilesSilverSearcher::FindInFilesSilverSearcher(QObject*) ../../src/plugins/silversearcher/findinfilessilversearcher.cpp:179 (libSilverSearcher.so+0x8455)
    #5 SilverSearcher::Internal::SilverSearcherPlugin::initialize(QStringList const&, QString*) ../../src/plugins/silversearcher/silversearcherplugin.cpp:38 (libSilverSearcher.so+0x1035f)
    #6 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #7 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #9 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #10 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f74d0 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #6 isSilverSearcherAvailable ../../src/plugins/silversearcher/findinfilessilversearcher.cpp:92 (libSilverSearcher.so+0x8455)
    #7 SilverSearcher::FindInFilesSilverSearcher::FindInFilesSilverSearcher(QObject*) ../../src/plugins/silversearcher/findinfilessilversearcher.cpp:179 (libSilverSearcher.so+0x8455)
    #8 SilverSearcher::Internal::SilverSearcherPlugin::initialize(QStringList const&, QString*) ../../src/plugins/silversearcher/silversearcherplugin.cpp:38 (libSilverSearcher.so+0x1035f)
    #9 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #11 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #12 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #13 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Previous read of size 8 at 0x7b08000f74d0 by thread T19:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T19 'QThread' (tid=1301594, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 isSilverSearcherAvailable ../../src/plugins/silversearcher/findinfilessilversearcher.cpp:92 (libSilverSearcher.so+0x8455)
    #4 SilverSearcher::FindInFilesSilverSearcher::FindInFilesSilverSearcher(QObject*) ../../src/plugins/silversearcher/findinfilessilversearcher.cpp:179 (libSilverSearcher.so+0x8455)
    #5 SilverSearcher::Internal::SilverSearcherPlugin::initialize(QStringList const&, QString*) ../../src/plugins/silversearcher/silversearcherplugin.cpp:38 (libSilverSearcher.so+0x1035f)
    #6 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #7 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #9 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #10 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08001433b0 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #13 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #14 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #15 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #16 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #17 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #18 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #19 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #21 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #22 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #24 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b08001433b0 by thread T21:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T21 'QThread' (tid=1301607, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f75d8 by thread T22:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f75d8 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f75c0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1301622, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00234d28 by thread T22:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c00234d28 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c00234d20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1301622, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7ba000058000 by thread T22:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7ba000058000 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16384 at 0x7ba000058000 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1301622, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f75a0 by thread T22:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f75a0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f75a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1301622, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00234d30 by thread T22:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c00234d30 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c00234d20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1301622, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00234d38 by thread T22:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c00234d38 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c00234d20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1301622, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00234d40 by thread T22:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c00234d40 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c00234d20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1301622, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b1000256040 by thread T22:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b1000256040 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b1000256040 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1301622, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800147610 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #13 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #14 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #15 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #16 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #17 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #18 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #19 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #21 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #22 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #24 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b0800147610 by thread T23:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T23 'QThread' (tid=1301623, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50000a5ac8 by thread T24:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50000a5ac8 by main thread:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #9 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #10 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #11 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #12 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #13 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #14 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #16 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #17 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 472 at 0x7b50000a5a00 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:142 (libProjectExplorer.so+0x36ce2e)
    #3 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #4 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #5 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #6 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #7 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #8 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #9 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #10 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #12 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #13 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T24 'QThread' (tid=1301626, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b2000058218 by thread T26:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Previous write of size 8 at 0x7b2000058218 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 120 at 0x7b2000058200 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T26 'QThread' (tid=1301630, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08000f76ec by main thread:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x3188da)
    #1 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x3188da)
    #2 Utils::Internal::QtcProcessPrivate::shouldFlush() const ../../src/libs/utils/qtcprocess.cpp:660 (libUtils.so.7+0x3188da)
    #3 Utils::Internal::ProcessInterfaceHandler::doWaitForSignal(QDeadlineTimer) ../../src/libs/utils/qtcprocess.cpp:744 (libUtils.so.7+0x3188da)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:719 (libUtils.so.7+0x324221)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f76e8 by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f76e0 allocated by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'QThread' (tid=1301630, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 in QListData::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f76f0 by main thread:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x323cc7)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cc7)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cc7)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cc7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f76f0 by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f76e0 allocated by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'QThread' (tid=1301630, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c002d1e98 by main thread:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/qtcprocess.cpp:807 (libUtils.so.7+0x323cd3)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cd3)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cd3)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cd3)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c002d1e98 by thread T26:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c002d1e90 allocated by thread T26:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'QThread' (tid=1301630, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/qtcprocess.cpp:807 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08000f76e0 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x3292ce)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x3292ce)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x3292ce)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x3292ce)
    #5 QList<Utils::Internal::ProcessInterfaceSignal*>::QList(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x3292ce)
    #6 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x323f4c)
    #7 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:818 (libUtils.so.7+0x323f4c)
    #8 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #9 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #10 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #11 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #12 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #13 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #14 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #15 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #16 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #17 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #18 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #19 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #20 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #22 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #23 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #25 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f76e0 by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f76e0 allocated by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'QThread' (tid=1301630, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c002d1ea0 by main thread:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd50)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd50)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd50)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c002d1ea0 by thread T26:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c002d1e90 allocated by thread T26:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'QThread' (tid=1301630, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c002d1ea8 by main thread:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd85)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd85)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd85)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c002d1ea8 by thread T26:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c002d1e90 allocated by thread T26:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'QThread' (tid=1301630, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c002d1eb0 by main thread:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x31fda1)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fda1)
    #2 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fda1)
    #3 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fda1)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #8 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #9 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #10 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #13 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #14 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #16 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #17 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #19 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #22 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c002d1eb0 by thread T26:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c002d1e90 allocated by thread T26:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'QThread' (tid=1301630, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7930 by thread T12:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7930 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7920 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301644, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7938 by thread T12:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7938 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7920 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301644, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08000f790c by thread T12:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7908 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7900 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301644, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7910 by thread T12:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7910 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7900 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301644, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08000f7900 by thread T12:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7900 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7900 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301644, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080013f748 by thread T21:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 Utils::Internal::LauncherReadyReadSignal::~LauncherReadyReadSignal() ../../src/libs/utils/launchersocket.cpp:61 (libUtils.so.7+0x27b6a0)
    #2 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278cfc)
    #3 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #8 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous read of size 4 at 0x7b080013f748 by thread T6:
    #0 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:217 (libUtils.so.7+0x2775cc)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1301657, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f7a20 by thread T21:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QListData::dispose(QListData::Data*) tools/qlist.cpp:180 (libQt5Core.so.5+0xf5d3f)
    #2 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:118 (libUtils.so.7+0x278d69)
    #3 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #8 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous atomic read of size 4 at 0x7b08000f7a20 by thread T6:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27758e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27758e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27758e)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libUtils.so.7+0x27758e)
    #5 QList<Utils::Internal::LauncherSignal*>::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libUtils.so.7+0x27758e)
    #6 QList<Utils::Internal::LauncherSignal*>::end() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:342 (libUtils.so.7+0x27758e)
    #7 QList<Utils::Internal::LauncherSignal*>::last() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:364 (libUtils.so.7+0x27758e)
    #8 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:215 (libUtils.so.7+0x27758e)
    #9 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #10 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1301657, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:180 in QListData::dispose(QListData::Data*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f7a28 by thread T21:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QListData::dispose(QListData::Data*) tools/qlist.cpp:180 (libQt5Core.so.5+0xf5d3f)
    #2 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:118 (libUtils.so.7+0x278d69)
    #3 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #8 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous read of size 4 at 0x7b08000f7a28 by thread T6:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x27757e)
    #1 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x27757e)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x27757e)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1301657, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:180 in QListData::dispose(QListData::Data*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f7a30 by thread T21:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QListData::dispose(QListData::Data*) tools/qlist.cpp:180 (libQt5Core.so.5+0xf5d3f)
    #2 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:118 (libUtils.so.7+0x278d69)
    #3 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #8 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous read of size 8 at 0x7b08000f7a30 by thread T6:
    #0 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:215 (libUtils.so.7+0x2775bd)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1301657, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::MingwToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1956 (libProjectExplorer.so+0x375627)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:180 in QListData::dispose(QListData::Data*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800147570 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #13 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #14 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #15 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #16 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #17 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #18 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #19 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #21 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #22 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #24 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b0800147570 by thread T28:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T28 'QThread' (tid=1301680, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f7770 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #13 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #14 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #15 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #16 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #17 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #18 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #19 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #21 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #22 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #24 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b08000f7770 by thread T8:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T8 'QThread' (tid=1301688, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 guessGccAbi ../../src/plugins/projectexplorer/gcctoolchain.cpp:280 (libProjectExplorer.so+0x370430)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1261 (libProjectExplorer.so+0x371553)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08000f7e2c by main thread:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x3188da)
    #1 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x3188da)
    #2 Utils::Internal::QtcProcessPrivate::shouldFlush() const ../../src/libs/utils/qtcprocess.cpp:660 (libUtils.so.7+0x3188da)
    #3 Utils::Internal::ProcessInterfaceHandler::doWaitForSignal(QDeadlineTimer) ../../src/libs/utils/qtcprocess.cpp:744 (libUtils.so.7+0x3188da)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:719 (libUtils.so.7+0x324221)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f7e28 by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7e20 allocated by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 in QListData::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7e30 by main thread:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x323cc7)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cc7)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cc7)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cc7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f7e30 by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7e20 allocated by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08000f7e48 by main thread:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/qtcprocess.cpp:807 (libUtils.so.7+0x323cd3)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cd3)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cd3)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cd3)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f7e48 by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x3239da)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7e40 allocated by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x3239da)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/qtcprocess.cpp:807 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08000f7e20 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x3292ce)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x3292ce)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x3292ce)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x3292ce)
    #5 QList<Utils::Internal::ProcessInterfaceSignal*>::QList(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x3292ce)
    #6 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x323f4c)
    #7 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:818 (libUtils.so.7+0x323f4c)
    #8 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #9 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #10 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #11 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #12 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #13 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #14 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #15 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #16 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #17 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #18 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #19 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #20 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #22 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #23 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #25 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f7e20 by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7e20 allocated by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7e58 by main thread:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x3204cd)
    #1 Utils::Internal::ReadyReadSignal::stdErr() const ../../src/libs/utils/qtcprocess.cpp:528 (libUtils.so.7+0x3204cd)
    #2 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x3204cd)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f7e58 by thread T20:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x323a46)
    #1 Utils::Internal::ReadyReadSignal::ReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:526 (libUtils.so.7+0x323a46)
    #2 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a46)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #4 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #5 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #9 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #10 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #14 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #15 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #20 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7e40 allocated by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x3239da)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7e50 by main thread:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x3204fe)
    #1 Utils::Internal::ReadyReadSignal::stdOut() const ../../src/libs/utils/qtcprocess.cpp:527 (libUtils.so.7+0x3204fe)
    #2 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x3204fe)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f7e50 by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x3239da)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7e40 allocated by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x3239da)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b9400043800 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x320519)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x320519)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x320519)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x320519)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x320519)
    #6 Utils::Internal::ReadyReadSignal::stdOut() const ../../src/libs/utils/qtcprocess.cpp:527 (libUtils.so.7+0x320519)
    #7 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x320519)
    #8 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #9 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #10 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #11 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #12 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #13 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #14 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #15 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #16 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #17 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #18 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #19 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #20 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #21 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #23 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #24 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #26 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #27 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b9400043800 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 8420 at 0x7b9400043800 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08000f7eac by main thread:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x3188da)
    #1 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x3188da)
    #2 Utils::Internal::QtcProcessPrivate::shouldFlush() const ../../src/libs/utils/qtcprocess.cpp:660 (libUtils.so.7+0x3188da)
    #3 Utils::Internal::ProcessInterfaceHandler::doWaitForSignal(QDeadlineTimer) ../../src/libs/utils/qtcprocess.cpp:744 (libUtils.so.7+0x3188da)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:719 (libUtils.so.7+0x324221)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f7ea8 by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7ea0 allocated by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 in QListData::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7eb0 by main thread:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x323cc7)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cc7)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cc7)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cc7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f7eb0 by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7ea0 allocated by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a0798 by main thread:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/qtcprocess.cpp:807 (libUtils.so.7+0x323cd3)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cd3)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cd3)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cd3)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c001a0798 by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a0790 allocated by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/qtcprocess.cpp:807 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08000f7ea0 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x3292ce)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x3292ce)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x3292ce)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x3292ce)
    #5 QList<Utils::Internal::ProcessInterfaceSignal*>::QList(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x3292ce)
    #6 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x323f4c)
    #7 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:818 (libUtils.so.7+0x323f4c)
    #8 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #9 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #10 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #11 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #12 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #13 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #14 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #15 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #16 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #17 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #18 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #19 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #20 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #22 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #23 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #25 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f7ea0 by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f7ea0 allocated by thread T20:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a07a0 by main thread:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd50)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd50)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd50)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c001a07a0 by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a0790 allocated by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a07a8 by main thread:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd85)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd85)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd85)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #13 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #14 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c001a07a8 by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a0790 allocated by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c001a07b0 by main thread:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x31fda1)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fda1)
    #2 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fda1)
    #3 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fda1)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #8 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #9 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #10 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #11 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #12 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #13 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #14 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #15 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #16 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #17 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #19 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #22 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c001a07b0 by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a0790 allocated by thread T20:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301717, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #7 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #8 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #9 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #10 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #11 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b100025b780 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x31fdbc)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x31fdbc)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x31fdbc)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x31fdbc)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x31fdbc)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fdbc)
    #7 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fdbc)
    #8 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fdbc)
    #9 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #10 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #11 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #12 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #13 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #14 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #15 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #16 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolChain(ProjectExplorer::ToolChainDescription const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1254 (libProjectExplorer.so+0x3714f1)
    #17 ProjectExplorer::Internal::GccToolChainFactory::autoDetectToolchains(QString const&, ProjectExplorer::Internal::GccToolChainFactory::DetectVariants, Utils::Id, Utils::Id, ProjectExplorer::ToolchainDetector const&, std::function<bool (ProjectExplorer::ToolChain const*)> const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1233 (libProjectExplorer.so+0x3734c3)
    #18 ProjectExplorer::Internal::GccToolChainFactory::autoDetect(ProjectExplorer::ToolchainDetector const&) const ../../src/plugins/projectexplorer/gcctoolchain.cpp:1074 (libProjectExplorer.so+0x374d77)
    #19 autoDetectToolChains ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:74 (libProjectExplorer.so+0x66f083)
    #20 ProjectExplorer::Internal::ToolChainSettingsAccessor::restoreToolChains(QWidget*) const ../../src/plugins/projectexplorer/toolchainsettingsaccessor.cpp:208 (libProjectExplorer.so+0x66f083)
    #21 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:130 (libProjectExplorer.so+0x660ddc)
    #22 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #24 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #25 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #27 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b100025b780 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b100025b780 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08001274b0 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1801 (libQtSupport.so+0x530fd)
    #11 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #12 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #13 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #14 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #15 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5c94)
    #16 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #17 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #18 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2748 (libQtSupport.so+0xe7f5e)
    #19 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #20 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #21 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #22 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #23 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #24 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #26 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #27 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #31 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #32 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #33 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #34 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #35 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #36 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #37 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b08001274b0 by thread T18:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T18 'QThread' (tid=1301754, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1801 (libQtSupport.so+0x530fd)
    #8 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #9 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #10 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #11 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #12 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5c94)
    #13 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #14 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #15 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2748 (libQtSupport.so+0xe7f5e)
    #16 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #17 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #18 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #19 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #20 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #21 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #23 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #24 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #28 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #30 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #31 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #33 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #34 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080013f610 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1801 (libQtSupport.so+0x530fd)
    #11 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #12 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #13 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #14 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #15 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #16 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #17 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #18 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2748 (libQtSupport.so+0xe7f5e)
    #19 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #20 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #21 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #22 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #23 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #24 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #26 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #27 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #31 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #32 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #33 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #34 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #35 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #36 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #37 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b080013f610 by thread T20:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301758, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1801 (libQtSupport.so+0x530fd)
    #8 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #9 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #10 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #11 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #12 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #13 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #14 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #15 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2748 (libQtSupport.so+0xe7f5e)
    #16 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #17 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #18 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #19 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #20 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #21 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #23 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #24 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #28 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #30 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #31 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #33 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #34 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800115bf0 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1801 (libQtSupport.so+0x530fd)
    #11 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #12 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #13 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #14 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #15 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5c94)
    #16 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #17 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #18 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #19 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #20 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #21 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #22 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #23 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #24 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #26 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #27 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #31 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #32 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #33 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #34 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #35 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #36 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #37 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b0800115bf0 by thread T22:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T22 'QThread' (tid=1301762, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1801 (libQtSupport.so+0x530fd)
    #8 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #9 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #10 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #11 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #12 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5c94)
    #13 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #14 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #15 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #16 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #17 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #18 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #19 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #20 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #21 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #23 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #24 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #28 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #30 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #31 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #33 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #34 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f78b0 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1801 (libQtSupport.so+0x530fd)
    #11 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #12 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #13 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #14 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #15 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #16 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #17 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #18 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #19 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #20 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #21 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #22 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #23 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #24 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #26 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #27 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #31 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #32 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #33 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #34 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #35 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #36 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #37 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b08000f78b0 by thread T24:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T24 'QThread' (tid=1301766, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1801 (libQtSupport.so+0x530fd)
    #8 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #9 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #10 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #11 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #12 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #13 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #14 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #15 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #16 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #17 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #18 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #19 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #20 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #21 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #23 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #24 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #28 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #30 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #31 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #33 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #34 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0008f1c8 by main thread:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/qtcprocess.cpp:807 (libUtils.so.7+0x323cd3)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cd3)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cd3)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cd3)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1805 (libQtSupport.so+0x53112)
    #8 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #9 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #10 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #11 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #12 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #13 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #14 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #15 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #16 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #17 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #18 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #19 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #20 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #21 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #23 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #24 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #28 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #30 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #31 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #33 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #34 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0008f1c8 by thread T25:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c0008f1c0 allocated by thread T25:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'QThread' (tid=1301769, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1805 (libQtSupport.so+0x53112)
    #4 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #5 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #6 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #7 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #8 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #9 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #10 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #11 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #12 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #13 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #14 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #15 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #16 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #17 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #19 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #20 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #24 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #26 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #27 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #29 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #30 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/qtcprocess.cpp:807 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0008f1d0 by main thread:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd50)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd50)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd50)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1805 (libQtSupport.so+0x53112)
    #8 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #9 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #10 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #11 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #12 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #13 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #14 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #15 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #16 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #17 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #18 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #19 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #20 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #21 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #23 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #24 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #28 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #30 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #31 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #33 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #34 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0008f1d0 by thread T25:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c0008f1c0 allocated by thread T25:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'QThread' (tid=1301769, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1805 (libQtSupport.so+0x53112)
    #4 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #5 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #6 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #7 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #8 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #9 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #10 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #11 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #12 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #13 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #14 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #15 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #16 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #17 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #19 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #20 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #24 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #26 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #27 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #29 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #30 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0008f1d8 by main thread:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd85)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd85)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd85)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1805 (libQtSupport.so+0x53112)
    #8 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #9 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #10 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #11 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #12 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #13 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #14 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #15 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #16 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #17 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #18 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #19 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #20 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #21 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #23 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #24 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #28 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #30 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #31 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #33 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #34 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0008f1d8 by thread T25:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c0008f1c0 allocated by thread T25:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'QThread' (tid=1301769, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1805 (libQtSupport.so+0x53112)
    #4 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #5 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #6 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #7 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #8 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #9 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #10 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #11 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #12 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #13 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #14 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #15 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #16 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #17 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #19 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #20 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #24 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #26 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #27 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #29 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #30 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0008f1e0 by main thread:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x31fda1)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fda1)
    #2 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fda1)
    #3 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fda1)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #8 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1805 (libQtSupport.so+0x53112)
    #9 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #10 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #11 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #12 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #13 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #14 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #15 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #16 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #17 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #18 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #19 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #20 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #21 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #22 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #24 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #25 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #29 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #30 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #31 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #32 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #33 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #34 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #35 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0008f1e0 by thread T25:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c0008f1c0 allocated by thread T25:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'QThread' (tid=1301769, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 runQmakeQuery ../../src/plugins/qtsupport/baseqtversion.cpp:1805 (libQtSupport.so+0x53112)
    #4 QtSupport::Internal::QtVersionPrivate::queryQMakeVariables(Utils::FilePath const&, Utils::Environment const&, QHash<ProKey, ProString>*, QString*) ../../src/plugins/qtsupport/baseqtversion.cpp:1832 (libQtSupport.so+0x535e0)
    #5 QtSupport::Internal::QtVersionPrivate::updateVersionInfo() ../../src/plugins/qtsupport/baseqtversion.cpp:1324 (libQtSupport.so+0x53db5)
    #6 QtSupport::QtVersion::qtVersionString() const ../../src/plugins/qtsupport/baseqtversion.cpp:1302 (libQtSupport.so+0x5a3ec)
    #7 QtSupport::QtVersion::qtVersion() const ../../src/plugins/qtsupport/baseqtversion.cpp:1308 (libQtSupport.so+0x5a4a7)
    #8 QtSupport::qtVersionNumberCompare(QtSupport::QtVersion*, QtSupport::QtVersion*) ../../src/plugins/qtsupport/qtversionmanager.cpp:99 (libQtSupport.so+0xd5ca5)
    #9 void std::__insertion_sort<QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/predefined_ops.h:143 (libQtSupport.so+0xe481c)
    #10 void std::__merge_sort_with_buffer<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2698 (libQtSupport.so+0xe7a69)
    #11 void std::__stable_sort_adaptive<QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)> >(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, QtSupport::QtVersion**, long long, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>) /usr/include/c++/9/bits/stl_algo.h:2749 (libQtSupport.so+0xe7fa0)
    #12 void std::stable_sort<QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>::iterator, QList<QtSupport::QtVersion*>::iterator, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) /usr/include/c++/9/bits/stl_algo.h:5045 (libQtSupport.so+0xdb124)
    #13 void Utils::sort<QList<QtSupport::QtVersion*>, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)>(QList<QtSupport::QtVersion*>&, bool (*)(QtSupport::QtVersion*, QtSupport::QtVersion*)) ../../src/libs/utils/algorithm.h:1006 (libQtSupport.so+0xdb124)
    #14 QtSupport::QtVersionManager::sortVersions(QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:563 (libQtSupport.so+0xdb124)
    #15 documentationFiles ../../src/plugins/qtsupport/qtversionmanager.cpp:510 (libQtSupport.so+0xdb2b7)
    #16 QtSupport::QtVersionManager::updateDocumentation(QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&, QList<QtSupport::QtVersion*> const&) ../../src/plugins/qtsupport/qtversionmanager.cpp:533 (libQtSupport.so+0xdc891)
    #17 QtSupport::QtVersionManager::triggerQtVersionRestore() ../../src/plugins/qtsupport/qtversionmanager.cpp:157 (libQtSupport.so+0xdeb49)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtSupport::QtVersionManager::*)()>::call(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQtSupport.so+0xe1257)
    #19 void QtPrivate::FunctionPointer<void (QtSupport::QtVersionManager::*)()>::call<QtPrivate::List<>, void>(void (QtSupport::QtVersionManager::*)(), QtSupport::QtVersionManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQtSupport.so+0xe1257)
    #20 QtPrivate::QSlotObject<void (QtSupport::QtVersionManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQtSupport.so+0xe1257)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 ProjectExplorer::ToolChainManager::restoreToolChains() ../../src/plugins/projectexplorer/toolchainmanager.cpp:134 (libProjectExplorer.so+0x660ea8)
    #24 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2295 (libProjectExplorer.so+0x4cc3b4)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #26 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #27 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #29 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #30 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080012ae70 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 CMakeProjectManager::CMakeTool::runCMake(Utils::QtcProcess&, QStringList const&, int) const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:204 (libCMakeProjectManager.so+0x14676f)
    #12 CMakeProjectManager::CMakeTool::fetchFromCapabilities() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:522 (libCMakeProjectManager.so+0x1486c9)
    #13 CMakeProjectManager::CMakeTool::readInformation() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:425 (libCMakeProjectManager.so+0x148a67)
    #14 CMakeProjectManager::CMakeTool::isValid() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:190 (libCMakeProjectManager.so+0x148b3f)
    #15 CMakeProjectManager::CMakeTool::supportedGenerators() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:271 (libCMakeProjectManager.so+0x148b92)
    #16 CMakeProjectManager::CMakeGeneratorKitAspect::fix(ProjectExplorer::Kit*) ../../src/plugins/cmakeprojectmanager/cmakekitinformation.cpp:822 (libCMakeProjectManager.so+0xf2d72)
    #17 ProjectExplorer::KitManager::completeKit(ProjectExplorer::Kit*) ../../src/plugins/projectexplorer/kitmanager.cpp:665 (libProjectExplorer.so+0x425141)
    #18 ProjectExplorer::KitManager::restoreKits() ../../src/plugins/projectexplorer/kitmanager.cpp:192 (libProjectExplorer.so+0x426799)
    #19 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2296 (libProjectExplorer.so+0x4cc3b9)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #21 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #22 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #24 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b080012ae70 by thread T26:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'QThread' (tid=1301770, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 CMakeProjectManager::CMakeTool::runCMake(Utils::QtcProcess&, QStringList const&, int) const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:204 (libCMakeProjectManager.so+0x14676f)
    #9 CMakeProjectManager::CMakeTool::fetchFromCapabilities() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:522 (libCMakeProjectManager.so+0x1486c9)
    #10 CMakeProjectManager::CMakeTool::readInformation() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:425 (libCMakeProjectManager.so+0x148a67)
    #11 CMakeProjectManager::CMakeTool::isValid() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:190 (libCMakeProjectManager.so+0x148b3f)
    #12 CMakeProjectManager::CMakeTool::supportedGenerators() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:271 (libCMakeProjectManager.so+0x148b92)
    #13 CMakeProjectManager::CMakeGeneratorKitAspect::fix(ProjectExplorer::Kit*) ../../src/plugins/cmakeprojectmanager/cmakekitinformation.cpp:822 (libCMakeProjectManager.so+0xf2d72)
    #14 ProjectExplorer::KitManager::completeKit(ProjectExplorer::Kit*) ../../src/plugins/projectexplorer/kitmanager.cpp:665 (libProjectExplorer.so+0x425141)
    #15 ProjectExplorer::KitManager::restoreKits() ../../src/plugins/projectexplorer/kitmanager.cpp:192 (libProjectExplorer.so+0x426799)
    #16 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2296 (libProjectExplorer.so+0x4cc3b9)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #18 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #19 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50000a68c8 by thread T27:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50000a68c8 by main thread:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 CMakeProjectManager::CMakeTool::runCMake(Utils::QtcProcess&, QStringList const&, int) const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:204 (libCMakeProjectManager.so+0x14676f)
    #7 CMakeProjectManager::CMakeTool::fetchFromCapabilities() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:522 (libCMakeProjectManager.so+0x1486c9)
    #8 CMakeProjectManager::CMakeTool::readInformation() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:425 (libCMakeProjectManager.so+0x148a67)
    #9 CMakeProjectManager::CMakeTool::isValid() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:190 (libCMakeProjectManager.so+0x148b3f)
    #10 CMakeProjectManager::CMakeTool::supportedGenerators() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:271 (libCMakeProjectManager.so+0x148b92)
    #11 CMakeProjectManager::CMakeGeneratorKitAspect::fix(ProjectExplorer::Kit*) ../../src/plugins/cmakeprojectmanager/cmakekitinformation.cpp:822 (libCMakeProjectManager.so+0xf2d72)
    #12 ProjectExplorer::KitManager::completeKit(ProjectExplorer::Kit*) ../../src/plugins/projectexplorer/kitmanager.cpp:665 (libProjectExplorer.so+0x425141)
    #13 ProjectExplorer::KitManager::restoreKits() ../../src/plugins/projectexplorer/kitmanager.cpp:192 (libProjectExplorer.so+0x426799)
    #14 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2296 (libProjectExplorer.so+0x4cc3b9)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #16 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #17 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 472 at 0x7b50000a6800 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 CMakeProjectManager::CMakeTool::fetchFromCapabilities() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:521 (libCMakeProjectManager.so+0x148646)
    #3 CMakeProjectManager::CMakeTool::readInformation() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:425 (libCMakeProjectManager.so+0x148a67)
    #4 CMakeProjectManager::CMakeTool::isValid() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:190 (libCMakeProjectManager.so+0x148b3f)
    #5 CMakeProjectManager::CMakeTool::supportedGenerators() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:271 (libCMakeProjectManager.so+0x148b92)
    #6 CMakeProjectManager::CMakeGeneratorKitAspect::fix(ProjectExplorer::Kit*) ../../src/plugins/cmakeprojectmanager/cmakekitinformation.cpp:822 (libCMakeProjectManager.so+0xf2d72)
    #7 ProjectExplorer::KitManager::completeKit(ProjectExplorer::Kit*) ../../src/plugins/projectexplorer/kitmanager.cpp:665 (libProjectExplorer.so+0x425141)
    #8 ProjectExplorer::KitManager::restoreKits() ../../src/plugins/projectexplorer/kitmanager.cpp:192 (libProjectExplorer.so+0x426799)
    #9 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2296 (libProjectExplorer.so+0x4cc3b9)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #11 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #12 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #15 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T27 'QThread' (tid=1301773, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 CMakeProjectManager::CMakeTool::runCMake(Utils::QtcProcess&, QStringList const&, int) const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:204 (libCMakeProjectManager.so+0x14676f)
    #5 CMakeProjectManager::CMakeTool::fetchFromCapabilities() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:522 (libCMakeProjectManager.so+0x1486c9)
    #6 CMakeProjectManager::CMakeTool::readInformation() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:425 (libCMakeProjectManager.so+0x148a67)
    #7 CMakeProjectManager::CMakeTool::isValid() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:190 (libCMakeProjectManager.so+0x148b3f)
    #8 CMakeProjectManager::CMakeTool::supportedGenerators() const ../../src/plugins/cmakeprojectmanager/cmaketool.cpp:271 (libCMakeProjectManager.so+0x148b92)
    #9 CMakeProjectManager::CMakeGeneratorKitAspect::fix(ProjectExplorer::Kit*) ../../src/plugins/cmakeprojectmanager/cmakekitinformation.cpp:822 (libCMakeProjectManager.so+0xf2d72)
    #10 ProjectExplorer::KitManager::completeKit(ProjectExplorer::Kit*) ../../src/plugins/projectexplorer/kitmanager.cpp:665 (libProjectExplorer.so+0x425141)
    #11 ProjectExplorer::KitManager::restoreKits() ../../src/plugins/projectexplorer/kitmanager.cpp:192 (libProjectExplorer.so+0x426799)
    #12 ProjectExplorer::ProjectExplorerPlugin::restoreKits() ../../src/plugins/projectexplorer/projectexplorer.cpp:2296 (libProjectExplorer.so+0x4cc3b9)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe417)
    #14 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectExplorerPlugin::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectExplorerPlugin::*)(), ProjectExplorer::ProjectExplorerPlugin*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe417)
    #15 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectExplorerPlugin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe417)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 2 at 0x7b1c000508f0 by main thread:
    #0 eventFilter ../../src/app/main.cpp:777 (qtcreator+0xfe42)
    #1 QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) kernel/qcoreapplication.cpp:1171 (libQt5Core.so.5+0x2c3802)
    #2 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c000508f0 by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 queued_activate kernel/qobject.cpp:3735 (libQt5Core.so.5+0x2fdbe1)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x12880a)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 112 at 0x7b1c000508e0 allocated by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 queued_activate kernel/qobject.cpp:3735 (libQt5Core.so.5+0x2fdbe1)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x12880a)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/app/main.cpp:777 in eventFilter
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c00050930 by main thread:
    #0 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa353b)
    #1 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa353b)
    #2 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa353b)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #5 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c00050930 by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 queued_activate kernel/qobject.cpp:3735 (libQt5Core.so.5+0x2fdbe1)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x12880a)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 112 at 0x7b1c000508e0 allocated by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 queued_activate kernel/qobject.cpp:3735 (libQt5Core.so.5+0x2fdbe1)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x12880a)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f8538 by main thread:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libLanguageClient.so+0x196e42)
    #1 LanguageServerProtocol::JsonRpcMessage::JsonRpcMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/libs/languageserverprotocol/jsonrpcmessages.h:114 (libLanguageClient.so+0x196e42)
    #2 LanguageClient::LspLogMessage::LspLogMessage(LanguageClient::LspLogMessage::MessageSender, QTime const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/lspinspector.cpp:536 (libLanguageClient.so+0x196e42)
    #3 LanguageClient::LspInspector::log(LanguageClient::LspLogMessage::MessageSender, QString const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/lspinspector.cpp:373 (libLanguageClient.so+0x196e42)
    #4 LanguageClient::LanguageClientManager::logJsonRpcMessage(LanguageClient::LspLogMessage::MessageSender, QString const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/languageclientmanager.cpp:431 (libLanguageClient.so+0x12bfc3)
    #5 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1270 (libLanguageClient.so+0x9d1e4)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #7 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #8 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #12 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #13 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f8538 by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaType::create(int, void const*) kernel/qmetatype.cpp:1652 (libQt5Core.so.5+0x2df991)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x12880a)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b08000f8520 allocated by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaType::create(int, void const*) kernel/qmetatype.cpp:1652 (libQt5Core.so.5+0x2df991)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x12880a)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b200005853c by main thread:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x14a5f0)
    #3 QString::QString(QChar const*, int) text/qstring.cpp:2131 (libQt5Core.so.5+0x14a5f0)
    #4 std::back_insert_iterator<QList<QString> > std::transform<QJsonArray::iterator, std::back_insert_iterator<QList<QString> >, QString (*)(QJsonValue const&)>(QJsonArray::iterator, QJsonArray::iterator, std::back_insert_iterator<QList<QString> >, QString (*)(QJsonValue const&)) /usr/include/c++/9/bits/stl_algo.h:4343 (libLanguageClient.so+0xbe4e4)
    #5 decltype(auto) Utils::transform<QList<QString>, QJsonArray, QString (*)(QJsonValue const&)>(QJsonArray&&, QString (*)(QJsonValue const&)) ../../src/libs/utils/algorithm.h:711 (libLanguageClient.so+0xbe4e4)
    #6 std::optional<QList<QString> > LanguageServerProtocol::JsonObject::optionalArray<QString>(QString const&) const ../../src/libs/languageserverprotocol/jsonobject.h:165 (libLanguageClient.so+0xbe676)
    #7 LanguageServerProtocol::ServerCapabilities::CompletionOptions::triggerCharacters() const ../../src/libs/languageserverprotocol/servercapabilities.h:194 (libLanguageClient.so+0x97055)
    #8 LanguageClient::Client::initializeCallback(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError> const&) ../../src/plugins/languageclient/client.cpp:1654 (libLanguageClient.so+0x97055)
    #9 operator() ../../src/plugins/languageclient/client.cpp:374 (libLanguageClient.so+0x9875c)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0x9875c)
    #11 std::function<void (LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>)>::operator()(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0xa7b6f)
    #12 LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}::operator()(LanguageServerProtocol::JsonRpcMessage const&) const ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libLanguageClient.so+0xa7b6f)
    #13 std::_Function_handler<void (LanguageServerProtocol::JsonRpcMessage const&), LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}>::_M_invoke(std::_Any_data const&, LanguageServerProtocol::JsonRpcMessage const&) /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0xa7b6f)
    #14 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #15 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #16 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #18 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #19 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #23 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #24 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #26 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #27 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b2000058538 by thread T9:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x1287ff)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 128 at 0x7b2000058500 allocated by thread T9:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x1287ff)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b4000050618 by main thread:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x350021)
    #3 QVector<QtCbor::Element>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x350021)
    #4 LanguageServerProtocol::ServerCapabilities::CompletionOptions::triggerCharacters() const ../../src/libs/languageserverprotocol/servercapabilities.h:194 (libLanguageClient.so+0x97055)
    #5 LanguageClient::Client::initializeCallback(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError> const&) ../../src/plugins/languageclient/client.cpp:1654 (libLanguageClient.so+0x97055)
    #6 operator() ../../src/plugins/languageclient/client.cpp:374 (libLanguageClient.so+0x9875c)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0x9875c)
    #8 std::function<void (LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>)>::operator()(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0xa7b6f)
    #9 LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}::operator()(LanguageServerProtocol::JsonRpcMessage const&) const ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libLanguageClient.so+0xa7b6f)
    #10 std::_Function_handler<void (LanguageServerProtocol::JsonRpcMessage const&), LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}>::_M_invoke(std::_Any_data const&, LanguageServerProtocol::JsonRpcMessage const&) /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0xa7b6f)
    #11 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #12 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #13 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #15 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #16 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #21 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #24 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b4000050618 by thread T9:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x1287ff)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 248 at 0x7b4000050600 allocated by thread T9:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x1287ff)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b4000050918 by main thread:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x350021)
    #3 QVector<QtCbor::Element>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x350021)
    #4 LanguageServerProtocol::ServerCapabilities::SignatureHelpOptions::triggerCharacters() const ../../src/libs/languageserverprotocol/servercapabilities.h:211 (libLanguageClient.so+0x972e6)
    #5 LanguageClient::Client::initializeCallback(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError> const&) ../../src/plugins/languageclient/client.cpp:1661 (libLanguageClient.so+0x972e6)
    #6 operator() ../../src/plugins/languageclient/client.cpp:374 (libLanguageClient.so+0x9875c)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0x9875c)
    #8 std::function<void (LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>)>::operator()(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0xa7b6f)
    #9 LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}::operator()(LanguageServerProtocol::JsonRpcMessage const&) const ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libLanguageClient.so+0xa7b6f)
    #10 std::_Function_handler<void (LanguageServerProtocol::JsonRpcMessage const&), LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}>::_M_invoke(std::_Any_data const&, LanguageServerProtocol::JsonRpcMessage const&) /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0xa7b6f)
    #11 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #12 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #13 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #15 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #16 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #21 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #24 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b4000050918 by thread T9:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x1287ff)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 248 at 0x7b4000050900 allocated by thread T9:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x1287ff)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b5000080618 by main thread:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x350021)
    #3 QVector<QtCbor::Element>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x350021)
    #4 LanguageServerProtocol::SemanticTokensLegend::tokenTypes() const ../../src/libs/languageserverprotocol/semantictokens.h:53 (libLanguageClient.so+0x1bcf6d)
    #5 LanguageClient::SemanticTokenSupport::setLegend(LanguageServerProtocol::SemanticTokensLegend const&) ../../src/plugins/languageclient/semantichighlightsupport.cpp:213 (libLanguageClient.so+0x1bcf6d)
    #6 LanguageClient::Client::initializeCallback(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError> const&) ../../src/plugins/languageclient/client.cpp:1666 (libLanguageClient.so+0x975be)
    #7 operator() ../../src/plugins/languageclient/client.cpp:374 (libLanguageClient.so+0x9875c)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0x9875c)
    #9 std::function<void (LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>)>::operator()(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0xa7b6f)
    #10 LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}::operator()(LanguageServerProtocol::JsonRpcMessage const&) const ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libLanguageClient.so+0xa7b6f)
    #11 std::_Function_handler<void (LanguageServerProtocol::JsonRpcMessage const&), LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}>::_M_invoke(std::_Any_data const&, LanguageServerProtocol::JsonRpcMessage const&) /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0xa7b6f)
    #12 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #13 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #14 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #16 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #17 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #21 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #22 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #24 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b5000080618 by thread T9:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x1287ff)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 504 at 0x7b5000080600 allocated by thread T9:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x1287ff)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b4000050518 by main thread:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x350021)
    #3 QVector<QtCbor::Element>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x350021)
    #4 LanguageServerProtocol::SemanticTokensLegend::tokenModifiers() const ../../src/libs/languageserverprotocol/semantictokens.h:57 (libLanguageClient.so+0x1bd010)
    #5 LanguageClient::SemanticTokenSupport::setLegend(LanguageServerProtocol::SemanticTokensLegend const&) ../../src/plugins/languageclient/semantichighlightsupport.cpp:214 (libLanguageClient.so+0x1bd010)
    #6 LanguageClient::Client::initializeCallback(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError> const&) ../../src/plugins/languageclient/client.cpp:1666 (libLanguageClient.so+0x975be)
    #7 operator() ../../src/plugins/languageclient/client.cpp:374 (libLanguageClient.so+0x9875c)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0x9875c)
    #9 std::function<void (LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>)>::operator()(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0xa7b6f)
    #10 LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}::operator()(LanguageServerProtocol::JsonRpcMessage const&) const ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libLanguageClient.so+0xa7b6f)
    #11 std::_Function_handler<void (LanguageServerProtocol::JsonRpcMessage const&), LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}>::_M_invoke(std::_Any_data const&, LanguageServerProtocol::JsonRpcMessage const&) /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0xa7b6f)
    #12 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #13 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #14 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #16 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #17 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #21 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #22 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #24 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b4000050518 by thread T9:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x1287ff)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 248 at 0x7b4000050500 allocated by thread T9:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x1287ff)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08000f8520 by main thread:
    #0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
    #1 QMetaType::destroy(int, void*) kernel/qmetatype.cpp:1665 (libQt5Core.so.5+0x2dfa6e)
    #2 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b08000f8520 by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaType::create(int, void const*) kernel/qmetatype.cpp:1652 (libQt5Core.so.5+0x2df991)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x12880a)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c000508e0 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)
    #2 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c000508e0 by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 queued_activate kernel/qobject.cpp:3735 (libQt5Core.so.5+0x2fdbe1)
    #2 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x12880a)
    #3 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #4 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #6 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #7 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #11 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #12 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #13 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #14 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #19 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #20 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #27 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #28 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #32 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #33 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #35 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #36 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #38 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0400031840 by thread T6:
    #0 QByteArray* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:83 (libUtils.so.7+0x27bc4c)
    #1 QByteArray* std::uninitialized_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:140 (libUtils.so.7+0x27bc4c)
    #2 QByteArray* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, QByteArray>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, std::allocator<QByteArray>&) /usr/include/c++/9/bits/stl_uninitialized.h:307 (libUtils.so.7+0x27bc4c)
    #3 QByteArray* std::vector<QByteArray, std::allocator<QByteArray> >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > > >(unsigned long, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >) /usr/include/c++/9/bits/stl_vector.h:1511 (libUtils.so.7+0x27bc4c)
    #4 std::vector<QByteArray, std::allocator<QByteArray> >::operator=(std::vector<QByteArray, std::allocator<QByteArray> > const&) /usr/include/c++/9/bits/vector.tcc:226 (libUtils.so.7+0x27bc4c)
    #5 Utils::Internal::LauncherSocket::handleRequests() ../../src/libs/utils/launchersocket.cpp:710 (libUtils.so.7+0x2761e2)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0400031840 by thread T9:
    #0 QByteArray::QByteArray(QByteArray&&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:189 (libUtils.so.7+0x27c3c3)
    #1 void __gnu_cxx::new_allocator<QByteArray>::construct<QByteArray, QByteArray>(QByteArray*, QByteArray&&) /usr/include/c++/9/ext/new_allocator.h:146 (libUtils.so.7+0x27c3c3)
    #2 void std::allocator_traits<std::allocator<QByteArray> >::construct<QByteArray, QByteArray>(std::allocator<QByteArray>&, QByteArray*, QByteArray&&) /usr/include/c++/9/bits/alloc_traits.h:483 (libUtils.so.7+0x27c3c3)
    #3 void std::__relocate_object_a<QByteArray, QByteArray, std::allocator<QByteArray> >(QByteArray*, QByteArray*, std::allocator<QByteArray>&) /usr/include/c++/9/bits/stl_uninitialized.h:912 (libUtils.so.7+0x27c3c3)
    #4 QByteArray* std::__relocate_a_1<QByteArray*, QByteArray*, std::allocator<QByteArray> >(QByteArray*, QByteArray*, QByteArray*, std::allocator<QByteArray>&) /usr/include/c++/9/bits/stl_uninitialized.h:950 (libUtils.so.7+0x27c3c3)
    #5 QByteArray* std::__relocate_a<QByteArray*, QByteArray*, std::allocator<QByteArray> >(QByteArray*, QByteArray*, QByteArray*, std::allocator<QByteArray>&) /usr/include/c++/9/bits/stl_uninitialized.h:964 (libUtils.so.7+0x27c3c3)
    #6 std::vector<QByteArray, std::allocator<QByteArray> >::_S_do_relocate(QByteArray*, QByteArray*, QByteArray*, std::allocator<QByteArray>&, std::integral_constant<bool, true>) /usr/include/c++/9/bits/stl_vector.h:453 (libUtils.so.7+0x27c3c3)
    #7 std::vector<QByteArray, std::allocator<QByteArray> >::_S_relocate(QByteArray*, QByteArray*, QByteArray*, std::allocator<QByteArray>&) /usr/include/c++/9/bits/stl_vector.h:466 (libUtils.so.7+0x27c3c3)
    #8 void std::vector<QByteArray, std::allocator<QByteArray> >::_M_realloc_insert<QByteArray const&>(__gnu_cxx::__normal_iterator<QByteArray*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray const&) /usr/include/c++/9/bits/vector.tcc:461 (libUtils.so.7+0x27c3c3)
    #9 std::vector<QByteArray, std::allocator<QByteArray> >::push_back(QByteArray const&) /usr/include/c++/9/bits/stl_vector.h:1195 (libUtils.so.7+0x2769bd)
    #10 operator() ../../src/libs/utils/launchersocket.cpp:562 (libUtils.so.7+0x2769bd)
    #11 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:566 (libUtils.so.7+0x2769bd)
    #12 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #13 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #14 Utils::Internal::CallerHandle::write(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:331 (libUtils.so.7+0x2741a3)
    #15 Utils::Internal::ProcessLauncherImpl::write(QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:446 (libUtils.so.7+0x326225)
    #16 operator() ../../src/libs/utils/qtcprocess.cpp:1499 (libUtils.so.7+0x317f75)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317f75)
    #18 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317f75)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317f75)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #21 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #22 LanguageClient::StdIOClientInterface::sendData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:149 (libLanguageClient.so+0x129224)
    #23 LanguageClient::BaseClientInterface::sendMessage(LanguageServerProtocol::JsonRpcMessage) ../../src/plugins/languageclient/languageclientinterface.cpp:53 (libLanguageClient.so+0x128582)
    #24 LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}::operator()() const ../../src/plugins/languageclient/client.cpp:112 (libLanguageClient.so+0xaaf4c)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}>::call({lambda()#1}&, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libLanguageClient.so+0xaaf4c)
    #26 void QtPrivate::Functor<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0>::call<QtPrivate::List<>, void>({lambda()#1}&, void*, {lambda()#1}&*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libLanguageClient.so+0xaaf4c)
    #27 QtPrivate::QFunctorSlotObject<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libLanguageClient.so+0xaaf4c)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #29 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 16 at 0x7b0400031840 allocated by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 __gnu_cxx::new_allocator<QByteArray>::allocate(unsigned long, void const*) /usr/include/c++/9/ext/new_allocator.h:114 (libUtils.so.7+0x27c318)
    #2 std::allocator_traits<std::allocator<QByteArray> >::allocate(std::allocator<QByteArray>&, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:443 (libUtils.so.7+0x27c318)
    #3 std::_Vector_base<QByteArray, std::allocator<QByteArray> >::_M_allocate(unsigned long) /usr/include/c++/9/bits/stl_vector.h:343 (libUtils.so.7+0x27c318)
    #4 void std::vector<QByteArray, std::allocator<QByteArray> >::_M_realloc_insert<QByteArray const&>(__gnu_cxx::__normal_iterator<QByteArray*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray const&) /usr/include/c++/9/bits/vector.tcc:440 (libUtils.so.7+0x27c318)
    #5 std::vector<QByteArray, std::allocator<QByteArray> >::push_back(QByteArray const&) /usr/include/c++/9/bits/stl_vector.h:1195 (libUtils.so.7+0x2769bd)
    #6 operator() ../../src/libs/utils/launchersocket.cpp:562 (libUtils.so.7+0x2769bd)
    #7 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:566 (libUtils.so.7+0x2769bd)
    #8 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #9 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #10 Utils::Internal::CallerHandle::write(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:331 (libUtils.so.7+0x2741a3)
    #11 Utils::Internal::ProcessLauncherImpl::write(QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:446 (libUtils.so.7+0x326225)
    #12 operator() ../../src/libs/utils/qtcprocess.cpp:1499 (libUtils.so.7+0x317f75)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317f75)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317f75)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317f75)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #17 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #18 LanguageClient::StdIOClientInterface::sendData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:149 (libLanguageClient.so+0x129224)
    #19 LanguageClient::BaseClientInterface::sendMessage(LanguageServerProtocol::JsonRpcMessage) ../../src/plugins/languageclient/languageclientinterface.cpp:53 (libLanguageClient.so+0x128582)
    #20 LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}::operator()() const ../../src/plugins/languageclient/client.cpp:112 (libLanguageClient.so+0xaaf4c)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}>::call({lambda()#1}&, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libLanguageClient.so+0xaaf4c)
    #22 void QtPrivate::Functor<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0>::call<QtPrivate::List<>, void>({lambda()#1}&, void*, {lambda()#1}&*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libLanguageClient.so+0xaaf4c)
    #23 QtPrivate::QFunctorSlotObject<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libLanguageClient.so+0xaaf4c)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #25 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_uninitialized.h:83 in QByteArray* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0400031848 by thread T6:
    #0 QByteArray* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:83 (libUtils.so.7+0x27bc4c)
    #1 QByteArray* std::uninitialized_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:140 (libUtils.so.7+0x27bc4c)
    #2 QByteArray* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, QByteArray>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, std::allocator<QByteArray>&) /usr/include/c++/9/bits/stl_uninitialized.h:307 (libUtils.so.7+0x27bc4c)
    #3 QByteArray* std::vector<QByteArray, std::allocator<QByteArray> >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > > >(unsigned long, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >) /usr/include/c++/9/bits/stl_vector.h:1511 (libUtils.so.7+0x27bc4c)
    #4 std::vector<QByteArray, std::allocator<QByteArray> >::operator=(std::vector<QByteArray, std::allocator<QByteArray> > const&) /usr/include/c++/9/bits/vector.tcc:226 (libUtils.so.7+0x27bc4c)
    #5 Utils::Internal::LauncherSocket::handleRequests() ../../src/libs/utils/launchersocket.cpp:710 (libUtils.so.7+0x2761e2)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0400031848 by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 __gnu_cxx::new_allocator<QByteArray>::allocate(unsigned long, void const*) /usr/include/c++/9/ext/new_allocator.h:114 (libUtils.so.7+0x27c318)
    #2 std::allocator_traits<std::allocator<QByteArray> >::allocate(std::allocator<QByteArray>&, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:443 (libUtils.so.7+0x27c318)
    #3 std::_Vector_base<QByteArray, std::allocator<QByteArray> >::_M_allocate(unsigned long) /usr/include/c++/9/bits/stl_vector.h:343 (libUtils.so.7+0x27c318)
    #4 void std::vector<QByteArray, std::allocator<QByteArray> >::_M_realloc_insert<QByteArray const&>(__gnu_cxx::__normal_iterator<QByteArray*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray const&) /usr/include/c++/9/bits/vector.tcc:440 (libUtils.so.7+0x27c318)
    #5 std::vector<QByteArray, std::allocator<QByteArray> >::push_back(QByteArray const&) /usr/include/c++/9/bits/stl_vector.h:1195 (libUtils.so.7+0x2769bd)
    #6 operator() ../../src/libs/utils/launchersocket.cpp:562 (libUtils.so.7+0x2769bd)
    #7 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:566 (libUtils.so.7+0x2769bd)
    #8 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #9 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #10 Utils::Internal::CallerHandle::write(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:331 (libUtils.so.7+0x2741a3)
    #11 Utils::Internal::ProcessLauncherImpl::write(QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:446 (libUtils.so.7+0x326225)
    #12 operator() ../../src/libs/utils/qtcprocess.cpp:1499 (libUtils.so.7+0x317f75)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317f75)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317f75)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317f75)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #17 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #18 LanguageClient::StdIOClientInterface::sendData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:149 (libLanguageClient.so+0x129224)
    #19 LanguageClient::BaseClientInterface::sendMessage(LanguageServerProtocol::JsonRpcMessage) ../../src/plugins/languageclient/languageclientinterface.cpp:53 (libLanguageClient.so+0x128582)
    #20 LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}::operator()() const ../../src/plugins/languageclient/client.cpp:112 (libLanguageClient.so+0xaaf4c)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}>::call({lambda()#1}&, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libLanguageClient.so+0xaaf4c)
    #22 void QtPrivate::Functor<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0>::call<QtPrivate::List<>, void>({lambda()#1}&, void*, {lambda()#1}&*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libLanguageClient.so+0xaaf4c)
    #23 QtPrivate::QFunctorSlotObject<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libLanguageClient.so+0xaaf4c)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #25 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 16 at 0x7b0400031840 allocated by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 __gnu_cxx::new_allocator<QByteArray>::allocate(unsigned long, void const*) /usr/include/c++/9/ext/new_allocator.h:114 (libUtils.so.7+0x27c318)
    #2 std::allocator_traits<std::allocator<QByteArray> >::allocate(std::allocator<QByteArray>&, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:443 (libUtils.so.7+0x27c318)
    #3 std::_Vector_base<QByteArray, std::allocator<QByteArray> >::_M_allocate(unsigned long) /usr/include/c++/9/bits/stl_vector.h:343 (libUtils.so.7+0x27c318)
    #4 void std::vector<QByteArray, std::allocator<QByteArray> >::_M_realloc_insert<QByteArray const&>(__gnu_cxx::__normal_iterator<QByteArray*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray const&) /usr/include/c++/9/bits/vector.tcc:440 (libUtils.so.7+0x27c318)
    #5 std::vector<QByteArray, std::allocator<QByteArray> >::push_back(QByteArray const&) /usr/include/c++/9/bits/stl_vector.h:1195 (libUtils.so.7+0x2769bd)
    #6 operator() ../../src/libs/utils/launchersocket.cpp:562 (libUtils.so.7+0x2769bd)
    #7 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:566 (libUtils.so.7+0x2769bd)
    #8 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #9 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #10 Utils::Internal::CallerHandle::write(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:331 (libUtils.so.7+0x2741a3)
    #11 Utils::Internal::ProcessLauncherImpl::write(QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:446 (libUtils.so.7+0x326225)
    #12 operator() ../../src/libs/utils/qtcprocess.cpp:1499 (libUtils.so.7+0x317f75)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317f75)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317f75)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317f75)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #17 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #18 LanguageClient::StdIOClientInterface::sendData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:149 (libLanguageClient.so+0x129224)
    #19 LanguageClient::BaseClientInterface::sendMessage(LanguageServerProtocol::JsonRpcMessage) ../../src/plugins/languageclient/languageclientinterface.cpp:53 (libLanguageClient.so+0x128582)
    #20 LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}::operator()() const ../../src/plugins/languageclient/client.cpp:112 (libLanguageClient.so+0xaaf4c)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}>::call({lambda()#1}&, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libLanguageClient.so+0xaaf4c)
    #22 void QtPrivate::Functor<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0>::call<QtPrivate::List<>, void>({lambda()#1}&, void*, {lambda()#1}&*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libLanguageClient.so+0xaaf4c)
    #23 QtPrivate::QFunctorSlotObject<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libLanguageClient.so+0xaaf4c)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #25 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_uninitialized.h:83 in QByteArray* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b2000058a00 by thread T6:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27bc64)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27bc64)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27bc64)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27bc64)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x27bc64)
    #6 void std::_Construct<QByteArray, QByteArray const&>(QByteArray*, QByteArray const&) /usr/include/c++/9/bits/stl_construct.h:75 (libUtils.so.7+0x27bc64)
    #7 QByteArray* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:83 (libUtils.so.7+0x27bc64)
    #8 QByteArray* std::uninitialized_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:140 (libUtils.so.7+0x27bc64)
    #9 QByteArray* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, QByteArray>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, std::allocator<QByteArray>&) /usr/include/c++/9/bits/stl_uninitialized.h:307 (libUtils.so.7+0x27bc64)
    #10 QByteArray* std::vector<QByteArray, std::allocator<QByteArray> >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > > >(unsigned long, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >) /usr/include/c++/9/bits/stl_vector.h:1511 (libUtils.so.7+0x27bc64)
    #11 std::vector<QByteArray, std::allocator<QByteArray> >::operator=(std::vector<QByteArray, std::allocator<QByteArray> > const&) /usr/include/c++/9/bits/vector.tcc:226 (libUtils.so.7+0x27bc64)
    #12 Utils::Internal::LauncherSocket::handleRequests() ../../src/libs/utils/launchersocket.cpp:710 (libUtils.so.7+0x2761e2)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b2000058a00 by thread T9:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherPacket::serialize() const ../../src/libs/utils/launcherpackets.cpp:40 (libUtils.so.7+0x271c1d)
    #3 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737c5)
    #4 Utils::Internal::CallerHandle::write(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:331 (libUtils.so.7+0x2741a3)
    #5 Utils::Internal::ProcessLauncherImpl::write(QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:446 (libUtils.so.7+0x326225)
    #6 operator() ../../src/libs/utils/qtcprocess.cpp:1499 (libUtils.so.7+0x317f75)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317f75)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317f75)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317f75)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #11 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #12 LanguageClient::StdIOClientInterface::sendData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:149 (libLanguageClient.so+0x129224)
    #13 LanguageClient::BaseClientInterface::sendMessage(LanguageServerProtocol::JsonRpcMessage) ../../src/plugins/languageclient/languageclientinterface.cpp:53 (libLanguageClient.so+0x128582)
    #14 LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}::operator()() const ../../src/plugins/languageclient/client.cpp:112 (libLanguageClient.so+0xaaf4c)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}>::call({lambda()#1}&, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libLanguageClient.so+0xaaf4c)
    #16 void QtPrivate::Functor<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0>::call<QtPrivate::List<>, void>({lambda()#1}&, void*, {lambda()#1}&*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libLanguageClient.so+0xaaf4c)
    #17 QtPrivate::QFunctorSlotObject<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libLanguageClient.so+0xaaf4c)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 128 at 0x7b2000058a00 allocated by thread T9:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherPacket::serialize() const ../../src/libs/utils/launcherpackets.cpp:40 (libUtils.so.7+0x271c1d)
    #3 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737c5)
    #4 Utils::Internal::CallerHandle::write(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:331 (libUtils.so.7+0x2741a3)
    #5 Utils::Internal::ProcessLauncherImpl::write(QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:446 (libUtils.so.7+0x326225)
    #6 operator() ../../src/libs/utils/qtcprocess.cpp:1499 (libUtils.so.7+0x317f75)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317f75)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317f75)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317f75)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #11 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #12 LanguageClient::StdIOClientInterface::sendData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:149 (libLanguageClient.so+0x129224)
    #13 LanguageClient::BaseClientInterface::sendMessage(LanguageServerProtocol::JsonRpcMessage) ../../src/plugins/languageclient/languageclientinterface.cpp:53 (libLanguageClient.so+0x128582)
    #14 LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}::operator()() const ../../src/plugins/languageclient/client.cpp:112 (libLanguageClient.so+0xaaf4c)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}>::call({lambda()#1}&, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libLanguageClient.so+0xaaf4c)
    #16 void QtPrivate::Functor<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0>::call<QtPrivate::List<>, void>({lambda()#1}&, void*, {lambda()#1}&*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libLanguageClient.so+0xaaf4c)
    #17 QtPrivate::QFunctorSlotObject<LanguageClient::InterfaceController::sendMessage(LanguageServerProtocol::JsonRpcMessage const&)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libLanguageClient.so+0xaaf4c)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000011ad0 by thread T8:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList>(std::integral_constant<bool, true>, QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:257 (libHelp.so+0x6f822)
    #5 void Utils::Internal::runAsyncMemberDispatch<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList, void>(QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:274 (libHelp.so+0x6f822)
    #6 void Utils::Internal::runAsyncImpl<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList>(QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:303 (libHelp.so+0x6f822)
    #7 void Utils::Internal::AsyncJob<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&>::runHelper<0ul, 1ul>(std::integer_sequence<unsigned long, 0ul, 1ul>) ../../src/libs/utils/runextensions.h:372 (libHelp.so+0x6f822)
    #8 Utils::Internal::AsyncJob<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&>::run() ../../src/libs/utils/runextensions.h:352 (libHelp.so+0x6f822)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000011ad0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #5 Core::FutureProgress* Core::ProgressManager::addTask<bool>(QFuture<bool> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.h:58 (libHelp.so+0x6e412)
    #6 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:149 (libHelp.so+0x6e412)
    #7 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #8 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #9 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #12 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #13 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T8 'QThread' (tid=1301779, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:457 (libHelp.so+0x6e581)
    #3 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, void, bool>(void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:531 (libHelp.so+0x6e581)
    #4 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:142 (libHelp.so+0x6e581)
    #5 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #6 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #10 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #11 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000011b00 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 Core::FutureProgress* Core::ProgressManager::addTask<bool>(QFuture<bool> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.h:58 (libHelp.so+0x6e412)
    #7 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:149 (libHelp.so+0x6e412)
    #8 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #9 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #10 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #11 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #13 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #14 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000011b00 by thread T8:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList>(std::integral_constant<bool, true>, QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:257 (libHelp.so+0x6f822)
    #5 void Utils::Internal::runAsyncMemberDispatch<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList, void>(QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:274 (libHelp.so+0x6f822)
    #6 void Utils::Internal::runAsyncImpl<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList>(QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:303 (libHelp.so+0x6f822)
    #7 void Utils::Internal::AsyncJob<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&>::runHelper<0ul, 1ul>(std::integer_sequence<unsigned long, 0ul, 1ul>) ../../src/libs/utils/runextensions.h:372 (libHelp.so+0x6f822)
    #8 Utils::Internal::AsyncJob<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&>::run() ../../src/libs/utils/runextensions.h:352 (libHelp.so+0x6f822)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T8 'QThread' (tid=1301779, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:457 (libHelp.so+0x6e581)
    #3 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, void, bool>(void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:531 (libHelp.so+0x6e581)
    #4 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:142 (libHelp.so+0x6e581)
    #5 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #6 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #10 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #11 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000011bd8 by thread T8:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList>(std::integral_constant<bool, true>, QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:257 (libHelp.so+0x6f822)
    #5 void Utils::Internal::runAsyncMemberDispatch<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList, void>(QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:274 (libHelp.so+0x6f822)
    #6 void Utils::Internal::runAsyncImpl<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList>(QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:303 (libHelp.so+0x6f822)
    #7 void Utils::Internal::AsyncJob<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&>::runHelper<0ul, 1ul>(std::integer_sequence<unsigned long, 0ul, 1ul>) ../../src/libs/utils/runextensions.h:372 (libHelp.so+0x6f822)
    #8 Utils::Internal::AsyncJob<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&>::run() ../../src/libs/utils/runextensions.h:352 (libHelp.so+0x6f822)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000011bd8 by main thread:
    [failed to restore the stack]

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T8 'QThread' (tid=1301779, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:457 (libHelp.so+0x6e581)
    #3 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, void, bool>(void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:531 (libHelp.so+0x6e581)
    #4 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:142 (libHelp.so+0x6e581)
    #5 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #6 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #10 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #11 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0400000170 by main thread:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 tzset_internal /build/glibc-SzIz7B/glibc-2.31/time/tzset.c:401 (libc.so.6+0xd2031)
    #2 QWidget::event(QEvent*) kernel/qwidget.cpp:8800 (libQt5Widgets.so.5+0x1be039)
    #3 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0400000170 by thread T8:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 __GI___strdup /build/glibc-SzIz7B/glibc-2.31/string/strdup.c:42 (libc.so.6+0x9f38e)
    #2 qMkTime(tm*) global/qglobal.cpp:3426 (libQt5Core.so.5+0xa5ea8)
    #3 void Utils::Internal::runAsyncQFutureInterfaceDispatch<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList>(std::integral_constant<bool, true>, QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:257 (libHelp.so+0x6f822)
    #4 void Utils::Internal::runAsyncMemberDispatch<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList, void>(QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:274 (libHelp.so+0x6f822)
    #5 void Utils::Internal::runAsyncImpl<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList>(QFutureInterface<bool>&, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList&&) ../../src/libs/utils/runextensions.h:303 (libHelp.so+0x6f822)
    #6 void Utils::Internal::AsyncJob<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&>::runHelper<0ul, 1ul>(std::integer_sequence<unsigned long, 0ul, 1ul>) ../../src/libs/utils/runextensions.h:372 (libHelp.so+0x6f822)
    #7 Utils::Internal::AsyncJob<bool, void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&>::run() ../../src/libs/utils/runextensions.h:352 (libHelp.so+0x6f822)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T8 'QThread' (tid=1301779, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:457 (libHelp.so+0x6e581)
    #3 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, void, bool>(void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:531 (libHelp.so+0x6e581)
    #4 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:142 (libHelp.so+0x6e581)
    #5 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #6 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #10 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #11 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /build/glibc-SzIz7B/glibc-2.31/time/tzset.c:401 in tzset_internal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0400000178 by main thread:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 tzset_internal /build/glibc-SzIz7B/glibc-2.31/time/tzset.c:401 (libc.so.6+0xd2031)
    #2 QWidget::event(QEvent*) kernel/qwidget.cpp:8800 (libQt5Widgets.so.5+0x1be039)
    #3 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0400000178 by thread T8:
    [failed to restore the stack]

  Thread T8 'QThread' (tid=1301779, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:457 (libHelp.so+0x6e581)
    #3 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, void, bool>(void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:531 (libHelp.so+0x6e581)
    #4 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:142 (libHelp.so+0x6e581)
    #5 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #6 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #10 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #11 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /build/glibc-SzIz7B/glibc-2.31/time/tzset.c:401 in tzset_internal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000011d58 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QApplicationPrivate::notify_helper(QObject*, QEvent*) kernel/qapplication.cpp:3632 (libQt5Widgets.so.5+0x17126b)
    #5 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000011d58 by thread T8:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T8 'QThread' (tid=1301779, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:457 (libHelp.so+0x6e581)
    #3 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, void, bool>(void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:531 (libHelp.so+0x6e581)
    #4 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:142 (libHelp.so+0x6e581)
    #5 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #6 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #10 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #11 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1800274408 by main thread:
    #0 pthread_cond_destroy ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1208 (libtsan.so.0+0x467aa)
    #1 QWaitCondition::~QWaitCondition() thread/qwaitcondition_unix.cpp:184 (libQt5Core.so.5+0xbfdcd)
    #2 qDeleteInEventHandler(QObject*) kernel/qobject.cpp:4815 (libQt5Core.so.5+0x2fa926)
    #3 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b1800274408 by thread T8 (mutexes: write M341845964738741216):
    #0 pthread_cond_broadcast ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1201 (libtsan.so.0+0x3e306)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:201 (libQt5Core.so.5+0xbff03)

  Location is heap block of size 96 at 0x7b18002743e0 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 QFuture<bool> Utils::Internal::runAsync_internal<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, std::optional<unsigned int>, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:413 (libHelp.so+0x71072)
    #3 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:457 (libHelp.so+0x6e581)
    #4 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, void, bool>(void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:531 (libHelp.so+0x6e581)
    #5 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:142 (libHelp.so+0x6e581)
    #6 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #7 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #11 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #12 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Mutex M341845964738741216 is already destroyed.

  Thread T8 'QThread' (tid=1301779, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:457 (libHelp.so+0x6e581)
    #3 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, void, bool>(void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:531 (libHelp.so+0x6e581)
    #4 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:142 (libHelp.so+0x6e581)
    #5 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #6 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #10 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #11 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:184 in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 1 at 0x7b18002743e0 by main thread:
    #0 pthread_mutex_destroy ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1237 (libtsan.so.0+0x3725c)
    #1 QWaitCondition::~QWaitCondition() thread/qwaitcondition_unix.cpp:185 (libQt5Core.so.5+0xbfdea)
    #2 qDeleteInEventHandler(QObject*) kernel/qobject.cpp:4815 (libQt5Core.so.5+0x2fa926)
    #3 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous atomic read of size 1 at 0x7b18002743e0 by thread T8:
    #0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4165 (libtsan.so.0+0x526fc)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:199 (libQt5Core.so.5+0xbfed9)

  Location is heap block of size 96 at 0x7b18002743e0 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 QFuture<bool> Utils::Internal::runAsync_internal<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, std::optional<unsigned int>, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:413 (libHelp.so+0x71072)
    #3 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:457 (libHelp.so+0x6e581)
    #4 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, void, bool>(void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:531 (libHelp.so+0x6e581)
    #5 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:142 (libHelp.so+0x6e581)
    #6 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #7 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #11 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #12 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T8 'QThread' (tid=1301779, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, bool>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:457 (libHelp.so+0x6e581)
    #3 QFuture<bool> Utils::runAsync<void (*)(QFutureInterface<bool>&, QStringList const&), QStringList const&, void, bool>(void (*&&)(QFutureInterface<bool>&, QStringList const&), QStringList const&) ../../src/libs/utils/runextensions.h:531 (libHelp.so+0x6e581)
    #4 Help::Internal::HelpManager::registerDocumentation(QStringList const&) ../../src/plugins/help/helpmanager.cpp:142 (libHelp.so+0x6e581)
    #5 Help::Internal::HelpManager::setupHelpManager() ../../src/plugins/help/helpmanager.cpp:433 (libHelp.so+0x66bee)
    #6 Help::Internal::HelpPlugin::delayedInitialize() ../../src/plugins/help/helpplugin.cpp:306 (libHelp.so+0x74663)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::delayedInitialize() ../../src/libs/extensionsystem/pluginspec.cpp:1170 (libExtensionSystem.so.7+0x52371)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::nextDelayedInitialize() ../../src/libs/extensionsystem/pluginmanager.cpp:964 (libExtensionSystem.so.7+0x423a5)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libExtensionSystem.so.7+0x44c17)
    #10 void QtPrivate::FunctionPointer<void (ExtensionSystem::Internal::PluginManagerPrivate::*)()>::call<QtPrivate::List<>, void>(void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), ExtensionSystem::Internal::PluginManagerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libExtensionSystem.so.7+0x44c17)
    #11 QtPrivate::QSlotObject<void (ExtensionSystem::Internal::PluginManagerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libExtensionSystem.so.7+0x44c17)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:185 in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba0000041f0 by main thread:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 CppEditor::CppModelManager::GC() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1602 (libCppEditor.so+0x2e0367)
    #3 CppEditor::CppModelManager::onAboutToLoadSession() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1388 (libCppEditor.so+0x2e05cd)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #5 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #6 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1099 (libProjectExplorer.so+0x5e081a)
    #10 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #11 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #12 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7ba0000041f0 by thread T10:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 31 created by thread T10 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T10 'QThread' (tid=1301561, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClassView::Internal::ClassViewPluginPrivate::ClassViewPluginPrivate() ../../src/plugins/classview/classviewplugin.cpp:43 (libClassView.so+0x2cb81)
    #3 ClassView::Internal::ClassViewPlugin::initialize(QStringList const&, QString*) ../../src/plugins/classview/classviewplugin.cpp:63 (libClassView.so+0x2cb81)
    #4 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #5 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #6 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #7 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #8 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08003b6070 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #12 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #13 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #14 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #15 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #16 Git::Internal::GitClient::synchronousRevParseCmd(Utils::FilePath const&, QString const&, QString*, QString*) const ../../src/plugins/git/gitclient.cpp:1854 (libGit.so+0x111cd3)
    #17 Git::Internal::GitClient::findGitDirForRepository(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:916 (libGit.so+0x111fea)
    #18 Git::Internal::GitTopicCache::trackFile(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:121 (libGit.so+0x167621)
    #19 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:191 (libCore.so+0x312a63)
    #20 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #21 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #22 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #23 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #24 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #25 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #26 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #27 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #28 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #29 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #33 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #34 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #35 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #36 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #37 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #38 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #39 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #40 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #41 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #42 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #43 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #44 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #45 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b08003b6070 by thread T30:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T30 'QThread' (tid=1301806, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::synchronousRevParseCmd(Utils::FilePath const&, QString const&, QString*, QString*) const ../../src/plugins/git/gitclient.cpp:1854 (libGit.so+0x111cd3)
    #14 Git::Internal::GitClient::findGitDirForRepository(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:916 (libGit.so+0x111fea)
    #15 Git::Internal::GitTopicCache::trackFile(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:121 (libGit.so+0x167621)
    #16 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:191 (libCore.so+0x312a63)
    #17 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #18 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #19 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #20 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #21 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #22 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #23 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #25 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #26 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #29 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #30 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #31 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #32 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #33 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #34 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #35 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #36 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #37 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #38 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #39 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #40 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #41 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #42 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010108 by thread T6:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7bc000010108 by thread T30:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::ProcessInterfaceHandler::handleStarted(long long, long long) ../../src/libs/utils/qtcprocess.cpp:753 (libUtils.so.7+0x32398c)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325268)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325268)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325268)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::ProcessInterface::*)(long long, long long)>::call(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325b08)
    #11 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325b08)
    #12 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325b08)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 Utils::Internal::CallerHandle::handleStarted(Utils::Internal::LauncherStartedSignal const*) ../../src/libs/utils/launchersocket.cpp:181 (libUtils.so.7+0x273c1d)
    #16 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:153 (libUtils.so.7+0x278d5a)
    #17 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #22 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T30 'QThread' (tid=1301806, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::synchronousRevParseCmd(Utils::FilePath const&, QString const&, QString*, QString*) const ../../src/plugins/git/gitclient.cpp:1854 (libGit.so+0x111cd3)
    #14 Git::Internal::GitClient::findGitDirForRepository(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:916 (libGit.so+0x111fea)
    #15 Git::Internal::GitTopicCache::trackFile(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:121 (libGit.so+0x167621)
    #16 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:191 (libCore.so+0x312a63)
    #17 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #18 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #19 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #20 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #21 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #22 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #23 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #25 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #26 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #29 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #30 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #31 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #32 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #33 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #34 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #35 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #36 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #37 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #38 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #39 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #40 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #41 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #42 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010138 by thread T12:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #11 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #12 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #16 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #17 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #22 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7bc000010138 by thread T6:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T12 'QThread' (tid=1301809, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::synchronousRevParseCmd(Utils::FilePath const&, QString const&, QString*, QString*) const ../../src/plugins/git/gitclient.cpp:1854 (libGit.so+0x111cd3)
    #10 Git::Internal::GitClient::findGitDirForRepository(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:916 (libGit.so+0x111fea)
    #11 Git::Internal::GitTopicCache::trackFile(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:121 (libGit.so+0x167621)
    #12 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:191 (libCore.so+0x312a63)
    #13 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #14 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #15 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #16 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #17 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #18 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #19 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #21 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #22 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #27 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #28 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #32 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #33 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #34 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #35 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #36 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #37 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #38 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50000aeac8 by thread T14:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50000aeac8 by main thread:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #7 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #8 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #9 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #10 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #11 Git::Internal::GitClient::synchronousCurrentLocalBranch(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1766 (libGit.so+0x125ad7)
    #12 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1812 (libGit.so+0x126b84)
    #13 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #14 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #15 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #16 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #17 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #18 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #19 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #20 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #21 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #23 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #24 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #28 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #29 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #30 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #31 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #32 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #33 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #34 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #35 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #36 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #37 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #38 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #39 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #40 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 472 at 0x7b50000aea00 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 Git::Internal::GitClient::synchronousCurrentLocalBranch(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1765 (libGit.so+0x125a3b)
    #3 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1812 (libGit.so+0x126b84)
    #4 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #5 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #6 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #7 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #8 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #9 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #10 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #11 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #12 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #14 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #15 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #18 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #20 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #21 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #25 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #26 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #27 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #28 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #29 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #30 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #31 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T14 'QThread' (tid=1301813, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::synchronousCurrentLocalBranch(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1766 (libGit.so+0x125ad7)
    #10 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1812 (libGit.so+0x126b84)
    #11 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #12 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #13 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #14 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #15 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #16 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #17 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #18 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #19 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #21 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #22 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #27 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #28 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #32 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #33 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #34 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #35 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #36 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #37 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #38 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080012a630 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #6 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #7 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #8 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #9 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #10 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #12 Git::Internal::GitClient::synchronousCurrentLocalBranch(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1766 (libGit.so+0x125ad7)
    #13 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1812 (libGit.so+0x126b84)
    #14 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #15 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #16 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #17 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #18 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #19 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #20 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #21 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #22 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #24 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #25 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #30 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #31 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #33 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #34 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #35 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #36 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #37 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #38 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #39 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #40 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #41 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b080012a630 by thread T14:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T14 'QThread' (tid=1301813, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::synchronousCurrentLocalBranch(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1766 (libGit.so+0x125ad7)
    #10 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1812 (libGit.so+0x126b84)
    #11 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #12 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #13 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #14 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #15 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #16 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #17 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #18 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #19 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #21 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #22 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #27 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #28 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #32 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #33 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #34 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #35 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #36 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #37 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #38 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080013ced0 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #12 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #13 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #14 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #15 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #16 Git::Internal::GitClient::synchronousHeadRefs(Utils::FilePath const&, QStringList*, QString*) const ../../src/plugins/git/gitclient.cpp:1791 (libGit.so+0x11171f)
    #17 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1818 (libGit.so+0x126c3a)
    #18 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #19 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #20 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #21 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #22 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #23 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #24 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #25 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #26 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #27 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #28 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #29 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #33 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #34 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #35 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #36 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #37 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #38 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #39 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #40 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #41 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #42 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #43 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #44 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #45 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b080013ced0 by thread T18:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T18 'QThread' (tid=1301814, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::synchronousHeadRefs(Utils::FilePath const&, QStringList*, QString*) const ../../src/plugins/git/gitclient.cpp:1791 (libGit.so+0x11171f)
    #14 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1818 (libGit.so+0x126c3a)
    #15 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #16 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #17 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #18 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #19 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #20 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #21 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #22 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #23 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #25 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #26 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #29 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #30 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #31 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #32 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #33 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #34 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #35 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #36 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #37 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #38 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #39 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #40 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #41 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #42 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7bc000070000 by thread T19:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7bc000070000 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 65536 at 0x7bc000070000 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T19 'QThread' (tid=1301817, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::synchronousHeadRefs(Utils::FilePath const&, QStringList*, QString*) const ../../src/plugins/git/gitclient.cpp:1791 (libGit.so+0x11171f)
    #10 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1818 (libGit.so+0x126c3a)
    #11 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #12 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #13 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #14 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #15 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #16 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #17 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #18 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #19 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #21 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #22 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #27 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #28 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #32 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #33 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #34 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #35 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #36 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #37 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #38 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a0eb8 by main thread:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/qtcprocess.cpp:807 (libUtils.so.7+0x323cd3)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cd3)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cd3)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cd3)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::synchronousHeadRefs(Utils::FilePath const&, QStringList*, QString*) const ../../src/plugins/git/gitclient.cpp:1791 (libGit.so+0x11171f)
    #14 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1818 (libGit.so+0x126c3a)
    #15 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #16 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #17 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #18 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #19 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #20 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #21 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #22 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #23 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #25 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #26 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #29 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #30 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #31 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #32 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #33 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #34 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #35 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #36 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #37 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #38 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #39 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #40 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #41 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #42 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c001a0eb8 by thread T19:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a0eb0 allocated by thread T19:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T19 'QThread' (tid=1301817, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::synchronousHeadRefs(Utils::FilePath const&, QStringList*, QString*) const ../../src/plugins/git/gitclient.cpp:1791 (libGit.so+0x11171f)
    #10 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1818 (libGit.so+0x126c3a)
    #11 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #12 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #13 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #14 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #15 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #16 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #17 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #18 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #19 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #21 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #22 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #27 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #28 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #32 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #33 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #34 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #35 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #36 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #37 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #38 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/qtcprocess.cpp:807 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a0ec0 by main thread:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd50)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd50)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd50)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::synchronousHeadRefs(Utils::FilePath const&, QStringList*, QString*) const ../../src/plugins/git/gitclient.cpp:1791 (libGit.so+0x11171f)
    #14 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1818 (libGit.so+0x126c3a)
    #15 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #16 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #17 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #18 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #19 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #20 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #21 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #22 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #23 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #25 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #26 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #29 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #30 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #31 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #32 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #33 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #34 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #35 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #36 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #37 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #38 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #39 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #40 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #41 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #42 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c001a0ec0 by thread T19:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a0eb0 allocated by thread T19:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T19 'QThread' (tid=1301817, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::synchronousHeadRefs(Utils::FilePath const&, QStringList*, QString*) const ../../src/plugins/git/gitclient.cpp:1791 (libGit.so+0x11171f)
    #10 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1818 (libGit.so+0x126c3a)
    #11 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #12 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #13 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #14 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #15 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #16 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #17 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #18 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #19 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #21 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #22 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #27 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #28 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #32 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #33 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #34 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #35 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #36 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #37 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #38 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c001a0ec8 by main thread:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd85)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd85)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd85)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::synchronousHeadRefs(Utils::FilePath const&, QStringList*, QString*) const ../../src/plugins/git/gitclient.cpp:1791 (libGit.so+0x11171f)
    #14 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1818 (libGit.so+0x126c3a)
    #15 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #16 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #17 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #18 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #19 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #20 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #21 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #22 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #23 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #25 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #26 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #29 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #30 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #31 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #32 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #33 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #34 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #35 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #36 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #37 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #38 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #39 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #40 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #41 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #42 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c001a0ec8 by thread T19:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a0eb0 allocated by thread T19:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T19 'QThread' (tid=1301817, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::synchronousHeadRefs(Utils::FilePath const&, QStringList*, QString*) const ../../src/plugins/git/gitclient.cpp:1791 (libGit.so+0x11171f)
    #10 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1818 (libGit.so+0x126c3a)
    #11 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #12 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #13 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #14 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #15 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #16 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #17 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #18 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #19 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #21 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #22 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #27 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #28 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #32 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #33 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #34 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #35 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #36 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #37 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #38 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c001a0ed0 by main thread:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x31fda1)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fda1)
    #2 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fda1)
    #3 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fda1)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #8 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #9 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #10 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #11 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #13 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #14 Git::Internal::GitClient::synchronousHeadRefs(Utils::FilePath const&, QStringList*, QString*) const ../../src/plugins/git/gitclient.cpp:1791 (libGit.so+0x11171f)
    #15 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1818 (libGit.so+0x126c3a)
    #16 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #17 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #18 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #19 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #20 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #21 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #22 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #23 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #24 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #26 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #27 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #31 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #32 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #33 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #37 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #38 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #39 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #40 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #41 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #42 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #43 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c001a0ed0 by thread T19:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c001a0eb0 allocated by thread T19:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T19 'QThread' (tid=1301817, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::synchronousHeadRefs(Utils::FilePath const&, QStringList*, QString*) const ../../src/plugins/git/gitclient.cpp:1791 (libGit.so+0x11171f)
    #10 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1818 (libGit.so+0x126c3a)
    #11 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #12 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #13 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #14 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #15 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #16 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #17 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #18 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #19 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #21 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #22 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #27 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #28 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #32 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #33 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #34 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #35 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #36 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #37 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #38 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800140e90 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #12 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #13 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #14 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #15 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #16 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1840 (libGit.so+0x126f96)
    #17 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #18 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #19 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #20 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #21 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #22 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #23 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #24 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #25 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #27 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #28 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #32 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #33 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #34 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #35 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #36 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #37 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #38 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #39 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #40 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #41 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #42 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #43 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #44 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b0800140e90 by thread T20:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T20 'QThread' (tid=1301818, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1840 (libGit.so+0x126f96)
    #14 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #15 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #16 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #17 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #18 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #19 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #20 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #21 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #22 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #24 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #25 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #30 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #31 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #33 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #34 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #35 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #36 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #37 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #38 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #39 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #40 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #41 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800144eb0 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #6 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #7 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #8 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #9 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #10 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #12 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1840 (libGit.so+0x126f96)
    #13 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #14 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #15 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #16 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #17 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #18 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #19 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #20 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #21 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #23 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #24 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #28 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #29 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #30 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #31 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #32 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #33 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #34 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #35 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #36 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #37 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #38 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #39 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #40 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b0800144eb0 by thread T21:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T21 'QThread' (tid=1301821, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::synchronousTopic(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:1840 (libGit.so+0x126f96)
    #10 Git::Internal::GitTopicCache::refreshTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:127 (libGit.so+0x166337)
    #11 Core::IVersionControl::TopicCache::topic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:199 (libCore.so+0x312c92)
    #12 Core::IVersionControl::vcsTopic(Utils::FilePath const&) ../../src/plugins/coreplugin/iversioncontrol.cpp:154 (libCore.so+0x31320c)
    #13 Git::Internal::GitPluginPrivate::vcsTopic(Utils::FilePath const&) ../../src/plugins/git/gitplugin.cpp:1914 (libGit.so+0x15989e)
    #14 VcsBase::Internal::StateListener::windowTitleVcsTopic(QString const&) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:249 (libVcsBase.so+0xbb220)
    #15 std::_Function_handler<QString (QString const&), QString (*)(QString const&)>::_M_invoke(std::_Any_data const&, QString const&) /usr/include/c++/9/bits/std_function.h:286 (libVcsBase.so+0xbc3ee)
    #16 std::function<QString (QString const&)>::operator()(QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libUtils.so.7+0x140454)
    #17 Core::Internal::EditorManagerPrivate::updateWindowTitleForDocument(Core::IDocument*, QWidget*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2157 (libCore.so+0x1f1eb2)
    #18 Core::Internal::EditorManagerPrivate::updateWindowTitle() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:2191 (libCore.so+0x1f2520)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCore.so+0x1a3eed)
    #20 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libCore.so+0x1a3eed)
    #21 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libCore.so+0x1a3eed)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 Core::EditorManager::updateWindowTitles() ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3813 (libCore.so+0x1ef2ff)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (*)()>::call(void (*&)(), void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x2165dd)
    #26 void QtPrivate::FunctionPointer<void (*)()>::call<QtPrivate::List<>, void>(void (*)(), void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:209 (libProjectExplorer.so+0x2165dd)
    #27 QtPrivate::QStaticSlotObject<void (*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobject_impl.h:90 (libProjectExplorer.so+0x2165dd)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #31 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #32 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #33 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #34 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #35 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #36 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #37 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000102b8 by thread T22:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::blockingContainerMapReduce<QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*) ../../src/libs/utils/mapreduce.h:305 (libCore.so+0x376651)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:257 (libCore.so+0x371426)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:274 (libCore.so+0x371426)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:303 (libCore.so+0x371426)
    #8 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) ../../src/libs/utils/runextensions.h:372 (libCore.so+0x371426)
    #9 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::run() ../../src/libs/utils/runextensions.h:352 (libCore.so+0x371426)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc0000102b8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 Core::Internal::Locator::refresh(QList<Core::ILocatorFilter*>) ../../src/plugins/coreplugin/locator/locator.cpp:402 (libCore.so+0x3703fe)
    #7 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #8 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #9 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #11 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #16 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #17 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #18 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #19 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #20 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #21 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000102d0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:410 (libCore.so+0x447c66)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 Core::Internal::Locator::refresh(QList<Core::ILocatorFilter*>) ../../src/plugins/coreplugin/locator/locator.cpp:402 (libCore.so+0x3703fe)
    #7 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #8 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #9 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #11 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #16 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #17 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #18 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #19 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #20 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #21 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc0000102d0 by thread T22:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::blockingContainerMapReduce<QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*) ../../src/libs/utils/mapreduce.h:305 (libCore.so+0x376651)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:257 (libCore.so+0x371426)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:274 (libCore.so+0x371426)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:303 (libCore.so+0x371426)
    #8 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) ../../src/libs/utils/runextensions.h:372 (libCore.so+0x371426)
    #9 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::run() ../../src/libs/utils/runextensions.h:352 (libCore.so+0x371426)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b50000e0b20 by thread T32:
    #0 memset ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:795 (libtsan.so.0+0x3790f)
    #1 memset ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:793 (libtsan.so.0+0x3790f)
    #2 memset /usr/include/x86_64-linux-gnu/bits/string_fortified.h:71 (libglib-2.0.so.0+0x70ac2)
    #3 g_slice_alloc0 ../../../glib/gslice.c:1053 (libglib-2.0.so.0+0x70ac2)

  Previous write of size 8 at 0x7b50000e0b20 by thread T31:
    [failed to restore the stack]

  Location is heap block of size 496 at 0x7b50000e0a00 allocated by thread T31:
    #0 posix_memalign ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:835 (libtsan.so.0+0x3046d)
    #1 allocator_memalign ../../../glib/gslice.c:1412 (libglib-2.0.so.0+0x6f936)
    #2 allocator_add_slab ../../../glib/gslice.c:1284 (libglib-2.0.so.0+0x6f936)
    #3 slab_allocator_alloc_chunk ../../../glib/gslice.c:1330 (libglib-2.0.so.0+0x6f936)

  Thread T32 (tid=1301824, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #14 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #15 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #16 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #17 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #19 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #20 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #24 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #25 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #29 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #30 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #31 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #32 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #33 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #37 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #38 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #39 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #40 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #41 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #42 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #43 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #44 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T31 'Thread (pooled)' (tid=1301823, running) created by thread T22 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<std::reference_wrapper<void (Core::ILocatorFilter::* const)(QFutureInterface<void>&)>, std::reference_wrapper<Core::ILocatorFilter*>, void>(QThreadPool*, QThread::Priority, std::reference_wrapper<void (Core::ILocatorFilter::* const)(QFutureInterface<void>&)>&&, std::reference_wrapper<Core::ILocatorFilter*>&&) ../../src/libs/utils/runextensions.h:457 (libCore.so+0x37611b)
    #3 QFuture<void> Utils::runAsync<std::reference_wrapper<void (Core::ILocatorFilter::* const)(QFutureInterface<void>&)>, std::reference_wrapper<Core::ILocatorFilter*>, void, void>(QThreadPool*, std::reference_wrapper<void (Core::ILocatorFilter::* const)(QFutureInterface<void>&)>&&, std::reference_wrapper<Core::ILocatorFilter*>&&) ../../src/libs/utils/runextensions.h:546 (libCore.so+0x37611b)
    #4 Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::schedule() ../../src/libs/utils/mapreduce.h:113 (libCore.so+0x37611b)
    #5 Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::exec() ../../src/libs/utils/mapreduce.h:87 (libCore.so+0x37611b)
    #6 void Utils::Internal::blockingIteratorMapReduce<QList<Core::ILocatorFilter*>::iterator, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>::iterator, QList<Core::ILocatorFilter*>::iterator, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*, int) ../../src/libs/utils/mapreduce.h:293 (libCore.so+0x37611b)
    #7 void Utils::Internal::blockingContainerMapReduce<QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*) ../../src/libs/utils/mapreduce.h:305 (libCore.so+0x376651)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:257 (libCore.so+0x371426)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:274 (libCore.so+0x371426)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:303 (libCore.so+0x371426)
    #11 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) ../../src/libs/utils/runextensions.h:372 (libCore.so+0x371426)
    #12 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::run() ../../src/libs/utils/runextensions.h:352 (libCore.so+0x371426)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:71 in memset
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08003b4d10 by thread T32:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003b4d10 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003b4d00 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T32 'QThread' (tid=1301824, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #14 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #15 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #16 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #17 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #19 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #20 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #24 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #25 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #29 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #30 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #31 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #32 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #33 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #37 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #38 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #39 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #40 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #41 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #42 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #43 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #44 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08003b4d18 by thread T32:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003b4d18 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003b4d00 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T32 'QThread' (tid=1301824, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #14 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #15 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #16 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #17 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #19 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #20 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #24 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #25 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #29 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #30 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #31 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #32 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #33 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #37 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #38 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #39 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #40 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #41 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #42 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #43 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #44 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10000be24c by thread T32:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be248 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be240 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T32 'QThread' (tid=1301824, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #14 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #15 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #16 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #17 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #19 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #20 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #24 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #25 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #29 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #30 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #31 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #32 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #33 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #37 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #38 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #39 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #40 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #41 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #42 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #43 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #44 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10000be250 by thread T32:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be250 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be240 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T32 'QThread' (tid=1301824, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #14 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #15 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #16 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #17 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #19 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #20 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #24 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #25 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #29 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #30 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #31 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #32 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #33 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #37 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #38 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #39 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #40 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #41 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #42 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #43 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #44 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b04000313b8 by thread T32:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000313b8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000313b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T32 'QThread' (tid=1301824, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #14 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #15 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #16 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #17 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #19 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #20 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #24 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #25 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #29 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #30 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #31 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #32 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #33 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #37 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #38 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #39 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #40 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #41 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #42 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #43 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #44 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000be240 by thread T32:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be240 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be240 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T32 'QThread' (tid=1301824, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #14 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #15 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #16 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #17 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #19 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #20 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #24 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #25 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #29 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #30 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #31 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #32 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #33 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #37 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #38 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #39 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #40 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #41 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #42 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #43 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #44 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b04000313b0 by thread T32:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000313b0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000313b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T32 'QThread' (tid=1301824, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #14 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #15 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #16 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #17 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #19 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #20 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #24 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #25 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #29 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #30 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #31 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #32 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #33 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #37 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #38 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #39 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #40 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #41 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #42 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #43 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #44 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08003b9030 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #12 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #13 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #14 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #15 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #16 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #17 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #18 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #19 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #20 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #22 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #23 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #27 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #28 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #32 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #33 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #35 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #36 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #38 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #39 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #40 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #41 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #42 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #43 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #44 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #45 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #46 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #47 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b08003b9030 by thread T32:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T32 'QThread' (tid=1301824, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #9 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #10 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #11 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #12 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #13 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #14 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #15 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #16 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #17 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #19 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #20 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #24 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #25 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #29 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #30 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #31 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #32 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #33 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #37 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #38 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #39 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #40 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #41 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #42 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #43 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #44 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08003b9090 by thread T23:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003b9090 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #7 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #8 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #9 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #10 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #11 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #12 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #13 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #14 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #15 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #17 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #18 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #22 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #23 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #27 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #28 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #30 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #31 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #33 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #34 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #35 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #36 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #37 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #38 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #39 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #40 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #41 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #42 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 24 at 0x7b08003b9080 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #7 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #8 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #9 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #10 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #11 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #12 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #13 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #14 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #15 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #17 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #18 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #22 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #23 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #27 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #28 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #30 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #31 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #33 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #34 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #35 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #36 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #37 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #38 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #39 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #40 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #41 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #42 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T23 'QThread' (tid=1301827, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #10 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #11 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #12 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #13 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #15 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #16 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #20 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #21 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #25 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #26 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #27 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #28 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #29 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #33 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #34 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #35 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #36 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #37 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #38 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #39 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #40 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 in call
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c00092970 by thread T23:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c00092970 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1557 (libQt5Core.so.5+0x2d1667)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #10 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #11 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #12 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #13 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #15 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #16 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #20 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #21 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #25 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #26 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #27 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #28 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #29 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #33 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #34 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #35 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #36 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #37 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #38 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #39 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #40 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T23 'QThread' (tid=1301827, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #10 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #11 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #12 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #13 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #15 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #16 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #20 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #21 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #25 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #26 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #27 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #28 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #29 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #33 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #34 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #35 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #36 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #37 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #38 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #39 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #40 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba0000042f0 by main thread:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #10 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #11 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #12 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #13 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #15 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #16 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #20 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #21 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #25 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #26 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #27 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #28 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #29 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #33 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #34 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #35 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #36 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #37 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #38 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #39 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #40 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7ba0000042f0 by thread T23:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 47 created by thread T23 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T23 'QThread' (tid=1301827, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 Utils::ShellCommand::runFullySynchronous(Utils::QtcProcess&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:353 (libUtils.so.7+0x343c60)
    #5 Utils::ShellCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/libs/utils/shellcommand.cpp:323 (libUtils.so.7+0x3448ff)
    #6 VcsBase::VcsCommand::runCommand(Utils::QtcProcess&, Utils::CommandLine const&, Utils::FilePath const&) ../../src/plugins/vcsbase/vcscommand.cpp:79 (libVcsBase.so+0xce885)
    #7 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, Utils::CommandLine const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:175 (libVcsBase.so+0x841cc)
    #8 VcsBase::VcsBaseClientImpl::vcsFullySynchronousExec(Utils::QtcProcess&, Utils::FilePath const&, QStringList const&, unsigned int, int, QTextCodec*) const ../../src/plugins/vcsbase/vcsbaseclient.cpp:163 (libVcsBase.so+0x8453e)
    #9 Git::Internal::GitClient::readOneLine(Utils::FilePath const&, QStringList const&) const ../../src/plugins/git/gitclient.cpp:3589 (libGit.so+0x11fc11)
    #10 Git::Internal::GitClient::readConfigValue(Utils::FilePath const&, QString const&) const ../../src/plugins/git/gitclient.cpp:3566 (libGit.so+0x11fdbd)
    #11 Git::Internal::GitClient::submoduleList(Utils::FilePath const&) const ../../src/plugins/git/gitclient.cpp:2137 (libGit.so+0x1281f5)
    #12 Git::Internal::GitPluginPrivate::updateActions(VcsBase::VcsBasePluginPrivate::ActionState) ../../src/plugins/git/gitplugin.cpp:1764 (libGit.so+0x15c6cd)
    #13 VcsBase::VcsBasePluginPrivate::slotStateChanged(VcsBase::Internal::State const&, Core::IVersionControl*) ../../src/plugins/vcsbase/vcsbaseplugin.cpp:570 (libVcsBase.so+0xbc1da)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void, void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc92c)
    #15 void QtPrivate::FunctionPointer<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*)>::call<QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>(void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), VcsBase::VcsBasePluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc92c)
    #16 QtPrivate::QSlotObject<void (VcsBase::VcsBasePluginPrivate::*)(VcsBase::Internal::State const&, Core::IVersionControl*), QtPrivate::List<VcsBase::Internal::State const&, Core::IVersionControl*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc92c)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (VcsBase::Internal::StateListener::*)()>::call(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libVcsBase.so+0xbc677)
    #20 void QtPrivate::FunctionPointer<void (VcsBase::Internal::StateListener::*)()>::call<QtPrivate::List<>, void>(void (VcsBase::Internal::StateListener::*)(), VcsBase::Internal::StateListener*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libVcsBase.so+0xbc677)
    #21 QtPrivate::QSlotObject<void (VcsBase::Internal::StateListener::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libVcsBase.so+0xbc677)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 ProjectExplorer::ProjectTree::setCurrent(ProjectExplorer::Node*, ProjectExplorer::Project*) ../../src/plugins/projectexplorer/projecttree.cpp:242 (libProjectExplorer.so+0x5542ad)
    #25 ProjectExplorer::ProjectTree::updateFromNode(ProjectExplorer::Node*) ../../src/plugins/projectexplorer/projecttree.cpp:196 (libProjectExplorer.so+0x5545fc)
    #26 ProjectExplorer::ProjectTree::sessionChanged() ../../src/plugins/projectexplorer/projecttree.cpp:254 (libProjectExplorer.so+0x554d4b)
    #27 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::ProjectTree::*)()>::call(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x4fe8c7)
    #28 void QtPrivate::FunctionPointer<void (ProjectExplorer::ProjectTree::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::ProjectTree::*)(), ProjectExplorer::ProjectTree*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x4fe8c7)
    #29 QtPrivate::QSlotObject<void (ProjectExplorer::ProjectTree::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x4fe8c7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #33 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #34 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #35 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #36 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #37 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #38 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #39 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #40 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000012580 by thread T22:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)()>::call(void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x370f17)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x370f17)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x370f17)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 void Utils::Internal::blockingContainerMapReduce<QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*) ../../src/libs/utils/mapreduce.h:305 (libCore.so+0x376651)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:257 (libCore.so+0x371426)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:274 (libCore.so+0x371426)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:303 (libCore.so+0x371426)
    #13 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) ../../src/libs/utils/runextensions.h:372 (libCore.so+0x371426)
    #14 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::run() ../../src/libs/utils/runextensions.h:352 (libCore.so+0x371426)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000012580 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Autotest::Internal::TestCodeParser::onStartupProjectChanged(ProjectExplorer::Project*) ../../src/plugins/autotest/testcodeparser.cpp:203 (libAutoTest.so+0x19f159)
    #5 operator() ../../src/plugins/autotest/testtreemodel.cpp:97 (libAutoTest.so+0x227c30)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x227c30)
    #7 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x227c30)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x227c30)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 ProjectExplorer::SessionManager::setStartupProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:394 (libProjectExplorer.so+0x5d3faf)
    #12 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:460 (libProjectExplorer.so+0x5d820f)
    #13 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #14 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #15 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #16 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #17 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #18 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000012588 by thread T22:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)()>::call(void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x370f17)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x370f17)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x370f17)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 void Utils::Internal::blockingContainerMapReduce<QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*) ../../src/libs/utils/mapreduce.h:305 (libCore.so+0x376651)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:257 (libCore.so+0x371426)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:274 (libCore.so+0x371426)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:303 (libCore.so+0x371426)
    #13 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) ../../src/libs/utils/runextensions.h:372 (libCore.so+0x371426)
    #14 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::run() ../../src/libs/utils/runextensions.h:352 (libCore.so+0x371426)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000012588 by main thread:
    [failed to restore the stack]

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000125c8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::Id>, void, void (Core::NavigationWidgetPlaceHolder::*)(Utils::Id)>::call(void (Core::NavigationWidgetPlaceHolder::*)(Utils::Id), Core::NavigationWidgetPlaceHolder*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x413267)
    #5 void QtPrivate::FunctionPointer<void (Core::NavigationWidgetPlaceHolder::*)(Utils::Id)>::call<QtPrivate::List<Utils::Id>, void>(void (Core::NavigationWidgetPlaceHolder::*)(Utils::Id), Core::NavigationWidgetPlaceHolder*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x413267)
    #6 QtPrivate::QSlotObject<void (Core::NavigationWidgetPlaceHolder::*)(Utils::Id), QtPrivate::List<Utils::Id>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x413267)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::ModeManager::currentTabAboutToChange(int) ../../src/plugins/coreplugin/modemanager.cpp:326 (libCore.so+0x4038cb)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<int>, void, void (Core::ModeManager::*)(int)>::call(void (Core::ModeManager::*)(int), Core::ModeManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x406f1f)
    #11 void QtPrivate::FunctionPointer<void (Core::ModeManager::*)(int)>::call<QtPrivate::List<int>, void>(void (Core::ModeManager::*)(int), Core::ModeManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x406f1f)
    #12 QtPrivate::QSlotObject<void (Core::ModeManager::*)(int), QtPrivate::List<int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x406f1f)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<int>, void, void (Core::Internal::FancyTabWidget::*)(int)>::call(void (Core::Internal::FancyTabWidget::*)(int), Core::Internal::FancyTabWidget*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x2616ef)
    #16 void QtPrivate::FunctionPointer<void (Core::Internal::FancyTabWidget::*)(int)>::call<QtPrivate::List<int>, void>(void (Core::Internal::FancyTabWidget::*)(int), Core::Internal::FancyTabWidget*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x2616ef)
    #17 QtPrivate::QSlotObject<void (Core::Internal::FancyTabWidget::*)(int), QtPrivate::List<int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x2616ef)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 Core::Internal::FancyTabBar::setCurrentIndex(int) ../../src/plugins/coreplugin/fancytabwidget.cpp:405 (libCore.so+0x25d289)
    #21 Core::Internal::FancyTabWidget::setCurrentIndex(int) ../../src/plugins/coreplugin/fancytabwidget.cpp:629 (libCore.so+0x25dbfc)
    #22 Core::ModeManagerPrivate::activateModeHelper(Utils::Id) ../../src/plugins/coreplugin/modemanager.cpp:198 (libCore.so+0x4041ed)
    #23 Core::ModeManager::activateMode(Utils::Id) ../../src/plugins/coreplugin/modemanager.cpp:187 (libCore.so+0x40423c)
    #24 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2585 (libProjectExplorer.so+0x4d6318)
    #25 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #26 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #27 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #28 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #29 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #30 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc0000125c8 by thread T22:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)()>::call(void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x370f17)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x370f17)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x370f17)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 void Utils::Internal::blockingContainerMapReduce<QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*) ../../src/libs/utils/mapreduce.h:305 (libCore.so+0x376651)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:257 (libCore.so+0x371426)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:274 (libCore.so+0x371426)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:303 (libCore.so+0x371426)
    #13 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) ../../src/libs/utils/runextensions.h:372 (libCore.so+0x371426)
    #14 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::run() ../../src/libs/utils/runextensions.h:352 (libCore.so+0x371426)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7bc000010378 by thread T22:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)()>::call(void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x370f17)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x370f17)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x370f17)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 void Utils::Internal::blockingContainerMapReduce<QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*) ../../src/libs/utils/mapreduce.h:305 (libCore.so+0x376651)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:257 (libCore.so+0x371426)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:274 (libCore.so+0x371426)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:303 (libCore.so+0x371426)
    #13 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) ../../src/libs/utils/runextensions.h:372 (libCore.so+0x371426)
    #14 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::run() ../../src/libs/utils/runextensions.h:352 (libCore.so+0x371426)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7bc000010378 by thread T10:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 ClassView::Internal::Parser::requestCurrentState() ../../src/plugins/classview/classviewparser.cpp:380 (libClassView.so+0x1b450)
    #5 ClassView::Internal::Parser::updateDocumentsFromSnapshot(QSet<Utils::FilePath> const&, CPlusPlus::Snapshot const&) ../../src/plugins/classview/classviewparser.cpp:297 (libClassView.so+0x1b747)
    #6 ClassView::Internal::Parser::addProject(Utils::FilePath const&, QString const&, QList<Utils::FilePath> const&) ../../src/plugins/classview/classviewparser.cpp:357 (libClassView.so+0x1db00)
    #7 operator() ../../src/plugins/classview/classviewmanager.cpp:240 (libClassView.so+0xf5db)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libClassView.so+0xf5db)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libClassView.so+0xf5db)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libClassView.so+0xf5db)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #12 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T10 'QThread' (tid=1301561, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClassView::Internal::ClassViewPluginPrivate::ClassViewPluginPrivate() ../../src/plugins/classview/classviewplugin.cpp:43 (libClassView.so+0x2cb81)
    #3 ClassView::Internal::ClassViewPlugin::initialize(QStringList const&, QString*) ../../src/plugins/classview/classviewplugin.cpp:63 (libClassView.so+0x2cb81)
    #4 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #5 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #6 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #7 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #8 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010ac8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::ActionContainerPrivate::*)()>::call(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x1270f7)
    #5 void QtPrivate::FunctionPointer<void (Core::Internal::ActionContainerPrivate::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x1270f7)
    #6 QtPrivate::QSlotObject<void (Core::Internal::ActionContainerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x1270f7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::Internal::Action::setActive(bool) ../../src/plugins/coreplugin/actionmanager/command.cpp:422 (libCore.so+0x12e572)
    #10 Core::Internal::Action::updateActiveState() ../../src/plugins/coreplugin/actionmanager/command.cpp:365 (libCore.so+0x12e572)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::Action::*)()>::call(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x131d77)
    #12 void QtPrivate::FunctionPointer<void (Core::Internal::Action::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x131d77)
    #13 QtPrivate::QSlotObject<void (Core::Internal::Action::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x131d77)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::ProxyAction::actionChanged() ../../src/libs/utils/proxyaction.cpp:104 (libUtils.so.7+0x304aa9)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::ProxyAction::*)()>::call(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x304c17)
    #18 void QtPrivate::FunctionPointer<void (Utils::ProxyAction::*)()>::call<QtPrivate::List<>, void>(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x304c17)
    #19 QtPrivate::QSlotObject<void (Utils::ProxyAction::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x304c17)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 TextEditor::Internal::FindInOpenFiles::updateEnabledState() ../../src/plugins/texteditor/findinopenfiles.cpp:121 (libTextEditor.so+0x16e18c)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (TextEditor::Internal::FindInOpenFiles::*)()>::call(void (TextEditor::Internal::FindInOpenFiles::*)(), TextEditor::Internal::FindInOpenFiles*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libTextEditor.so+0x171ff7)
    #26 void QtPrivate::FunctionPointer<void (TextEditor::Internal::FindInOpenFiles::*)()>::call<QtPrivate::List<>, void>(void (TextEditor::Internal::FindInOpenFiles::*)(), TextEditor::Internal::FindInOpenFiles*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libTextEditor.so+0x171ff7)
    #27 QtPrivate::QSlotObject<void (TextEditor::Internal::FindInOpenFiles::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libTextEditor.so+0x171ff7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 Core::Internal::EditorManagerPrivate::addEditor(Core::IEditor*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1487 (libCore.so+0x1ec33f)
    #31 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:940 (libCore.so+0x20544e)
    #32 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #33 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #34 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #35 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #36 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #37 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #38 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #39 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000010ac8 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void, void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQmlJSTools.so+0x5ab44)
    #5 void QtPrivate::FunctionPointer<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call<QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQmlJSTools.so+0x5ab44)
    #6 QtPrivate::QSlotObject<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQmlJSTools.so+0x5ab44)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #10 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #27 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:227 (libCppEditor.so+0x1183fe)
    #28 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #29 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #30 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #31 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #32 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #33 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #34 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #35 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010ae0 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #16 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:227 (libCppEditor.so+0x1183fe)
    #17 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #18 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #22 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #23 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #24 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000010ae0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::ActionContainerPrivate::*)()>::call(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x1270f7)
    #5 void QtPrivate::FunctionPointer<void (Core::Internal::ActionContainerPrivate::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x1270f7)
    #6 QtPrivate::QSlotObject<void (Core::Internal::ActionContainerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x1270f7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::Internal::Action::setActive(bool) ../../src/plugins/coreplugin/actionmanager/command.cpp:422 (libCore.so+0x12e572)
    #10 Core::Internal::Action::updateActiveState() ../../src/plugins/coreplugin/actionmanager/command.cpp:365 (libCore.so+0x12e572)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::Action::*)()>::call(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x131d77)
    #12 void QtPrivate::FunctionPointer<void (Core::Internal::Action::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x131d77)
    #13 QtPrivate::QSlotObject<void (Core::Internal::Action::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x131d77)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::ProxyAction::actionChanged() ../../src/libs/utils/proxyaction.cpp:104 (libUtils.so.7+0x304aa9)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::ProxyAction::*)()>::call(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x304c17)
    #18 void QtPrivate::FunctionPointer<void (Utils::ProxyAction::*)()>::call<QtPrivate::List<>, void>(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x304c17)
    #19 QtPrivate::QSlotObject<void (Utils::ProxyAction::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x304c17)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 TextEditor::Internal::FindInOpenFiles::updateEnabledState() ../../src/plugins/texteditor/findinopenfiles.cpp:121 (libTextEditor.so+0x16e18c)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (TextEditor::Internal::FindInOpenFiles::*)()>::call(void (TextEditor::Internal::FindInOpenFiles::*)(), TextEditor::Internal::FindInOpenFiles*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libTextEditor.so+0x171ff7)
    #26 void QtPrivate::FunctionPointer<void (TextEditor::Internal::FindInOpenFiles::*)()>::call<QtPrivate::List<>, void>(void (TextEditor::Internal::FindInOpenFiles::*)(), TextEditor::Internal::FindInOpenFiles*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libTextEditor.so+0x171ff7)
    #27 QtPrivate::QSlotObject<void (TextEditor::Internal::FindInOpenFiles::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libTextEditor.so+0x171ff7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 Core::Internal::EditorManagerPrivate::addEditor(Core::IEditor*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1487 (libCore.so+0x1ec33f)
    #31 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:940 (libCore.so+0x20544e)
    #32 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #33 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #34 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #35 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #36 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #37 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #38 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #39 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010af8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #5 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #6 Core::Internal::EditorManagerPrivate::addEditor(Core::IEditor*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1487 (libCore.so+0x1ec33f)
    #7 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:940 (libCore.so+0x20544e)
    #8 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #9 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #10 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #11 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #12 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #13 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #14 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #15 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000010af8 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #16 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:227 (libCppEditor.so+0x1183fe)
    #17 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #18 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #22 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #23 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #24 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010ba0 by thread T22:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)()>::call(void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x370f17)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x370f17)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x370f17)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 void Utils::Internal::blockingContainerMapReduce<QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*) ../../src/libs/utils/mapreduce.h:305 (libCore.so+0x376651)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:257 (libCore.so+0x371426)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:274 (libCore.so+0x371426)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:303 (libCore.so+0x371426)
    #13 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) ../../src/libs/utils/runextensions.h:372 (libCore.so+0x371426)
    #14 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::run() ../../src/libs/utils/runextensions.h:352 (libCore.so+0x371426)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000010ba0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:940 (libCore.so+0x20544e)
    #5 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #6 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #7 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #8 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #9 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #10 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #11 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010e40 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #16 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:227 (libCppEditor.so+0x1183fe)
    #17 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #18 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #22 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #23 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #24 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000010e40 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::EditorManagerPrivate::placeEditor(Core::Internal::EditorView*, Core::IEditor*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1541 (libCore.so+0x1efde0)
    #5 Core::Internal::EditorManagerPrivate::activateEditor(Core::Internal::EditorView*, Core::IEditor*, QFlags<Core::EditorManager::OpenEditorFlag>) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1566 (libCore.so+0x1fea03)
    #6 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:945 (libCore.so+0x20547a)
    #7 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #8 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #9 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #10 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #11 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #12 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #13 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #14 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010f90 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QWidget::event(QEvent*) kernel/qwidget.cpp:8809 (libQt5Widgets.so.5+0x1be078)
    #5 QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) <null> (libQt5Widgets.so.5+0x289bf6)
    #6 TextEditor::TextEditorWidget::extraAreaWidth(int*) const ../../src/plugins/texteditor/texteditor.cpp:4797 (libTextEditor.so+0x24f7d1)
    #7 TextEditor::Internal::TextEditorWidgetPrivate::slotUpdateExtraAreaWidth(std::optional<int>) ../../src/plugins/texteditor/texteditor.cpp:4805 (libTextEditor.so+0x245052)
    #8 TextEditor::Internal::TextEditorWidgetPrivate::slotUpdateRequest(QRect const&, int) ../../src/plugins/texteditor/texteditor.cpp:5084 (libTextEditor.so+0x2491a5)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QRect const&, int>, void, void (TextEditor::Internal::TextEditorWidgetPrivate::*)(QRect const&, int)>::call(void (TextEditor::Internal::TextEditorWidgetPrivate::*)(QRect const&, int), TextEditor::Internal::TextEditorWidgetPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libTextEditor.so+0x28eeac)
    #10 void QtPrivate::FunctionPointer<void (TextEditor::Internal::TextEditorWidgetPrivate::*)(QRect const&, int)>::call<QtPrivate::List<QRect const&, int>, void>(void (TextEditor::Internal::TextEditorWidgetPrivate::*)(QRect const&, int), TextEditor::Internal::TextEditorWidgetPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libTextEditor.so+0x28eeac)
    #11 QtPrivate::QSlotObject<void (TextEditor::Internal::TextEditorWidgetPrivate::*)(QRect const&, int), QtPrivate::List<QRect const&, int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libTextEditor.so+0x28eeac)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 QWidget::event(QEvent*) kernel/qwidget.cpp:8900 (libQt5Widgets.so.5+0x1be269)
    #15 CppEditor::CppEditorWidget::event(QEvent*) ../../src/plugins/cppeditor/cppeditorwidget.cpp:1110 (libCppEditor.so+0x236e45)
    #16 QApplicationPrivate::notify_helper(QObject*, QEvent*) kernel/qapplication.cpp:3632 (libQt5Widgets.so.5+0x17126b)
    #17 TextEditor::TextEditorWidget::triggerPendingUpdates() ../../src/plugins/texteditor/texteditor.cpp:7164 (libTextEditor.so+0x2565e9)
    #18 TextEditor::TextEditorWidget::showEvent(QShowEvent*) ../../src/plugins/texteditor/texteditor.cpp:7121 (libTextEditor.so+0x28de51)
    #19 QWidget::event(QEvent*) kernel/qwidget.cpp:8863 (libQt5Widgets.so.5+0x1be1d8)
    #20 CppEditor::CppEditorWidget::event(QEvent*) ../../src/plugins/cppeditor/cppeditorwidget.cpp:1110 (libCppEditor.so+0x236e45)
    #21 QApplicationPrivate::notify_helper(QObject*, QEvent*) kernel/qapplication.cpp:3632 (libQt5Widgets.so.5+0x17126b)
    #22 Core::Internal::EditorManagerPrivate::placeEditor(Core::Internal::EditorView*, Core::IEditor*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1541 (libCore.so+0x1efde0)
    #23 Core::Internal::EditorManagerPrivate::activateEditor(Core::Internal::EditorView*, Core::IEditor*, QFlags<Core::EditorManager::OpenEditorFlag>) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1566 (libCore.so+0x1fea03)
    #24 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:945 (libCore.so+0x20547a)
    #25 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #26 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #27 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #28 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #29 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #30 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #31 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #32 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000010f90 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::finishedRefreshingSourceFiles(QSet<QString> const&) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1609 (libCppEditor.so+0x2d96a5)
    #5 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:94 (libCppEditor.so+0x107e72)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #9 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #10 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c0032bce0 by main thread:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QScopedPointerPodDeleter::cleanup(void*) ../../../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:81 (libQt5XcbQpa.so.5+0x43352)
    #2 QScopedPointer<xcb_generic_event_t, QScopedPointerPodDeleter>::~QScopedPointer() ../../../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107 (libQt5XcbQpa.so.5+0x43352)
    #3 QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:993 (libQt5XcbQpa.so.5+0x43352)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0032bce0 by thread T1 (mutexes: write M842):
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 <null> <null> (libxcb.so.1+0xe0c5)

  Mutex M842 (0x7ba800000018) created at:
    #0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1220 (libtsan.so.0+0x4a616)
    #1 xcb_connect_to_fd <null> (libxcb.so.1+0xb8e7)
    #2 main ../../src/app/main.cpp:554 (qtcreator+0xb998)

  Thread T1 'QXcbEventQueue' (tid=1301467, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 main ../../src/app/main.cpp:554 (qtcreator+0xb998)

SUMMARY: ThreadSanitizer: data race ../../../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:81 in QScopedPointerPodDeleter::cleanup(void*)
==================
"No \"RelWithDebInfo\" CMake configuration found. Available configuration: \"Debug\".\nMake sure that CMAKE_BUILD_TYPE variable matches the \"Build type\" field."
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010120 by thread T35:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 ProjectExplorer::TreeScanner::scanForFiles(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, Utils::FilePath const&, std::function<bool (Utils::MimeType const&, Utils::FilePath const&)> const&, std::function<ProjectExplorer::FileType (Utils::MimeType const&, Utils::FilePath const&)> const&) ../../src/plugins/projectexplorer/treescanner.cpp:183 (libProjectExplorer.so+0x67dc79)
    #5 operator() ../../src/plugins/projectexplorer/treescanner.cpp:71 (libProjectExplorer.so+0x67e9a0)
    #6 runAsyncQFutureInterfaceDispatch<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:257 (libProjectExplorer.so+0x67e9a0)
    #7 runAsyncMemberDispatch<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:274 (libProjectExplorer.so+0x67e9a0)
    #8 runAsyncImpl<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x67e9a0)
    #9 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x67e9a0)
    #10 run ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x67e9a0)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000010120 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #5 Core::FutureProgress* Core::ProgressManager::addTask<ProjectExplorer::TreeScanner::Result>(QFuture<ProjectExplorer::TreeScanner::Result> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.h:58 (libCMakeProjectManager.so+0xa1c68)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateFallbackProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:723 (libCMakeProjectManager.so+0xa1c68)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:532 (libCMakeProjectManager.so+0xa2e94)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:801 (libCMakeProjectManager.so+0xa3738)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #10 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #11 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #15 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #16 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #17 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #18 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T35 'QThread' (tid=1301852, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateFallbackProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:722 (libCMakeProjectManager.so+0xa1b80)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:532 (libCMakeProjectManager.so+0xa2e94)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:801 (libCMakeProjectManager.so+0xa3738)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010150 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 Core::FutureProgress* Core::ProgressManager::addTask<ProjectExplorer::TreeScanner::Result>(QFuture<ProjectExplorer::TreeScanner::Result> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.h:58 (libCMakeProjectManager.so+0xa1c68)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateFallbackProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:723 (libCMakeProjectManager.so+0xa1c68)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:532 (libCMakeProjectManager.so+0xa2e94)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:801 (libCMakeProjectManager.so+0xa3738)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000010150 by thread T35:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 ProjectExplorer::TreeScanner::scanForFiles(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, Utils::FilePath const&, std::function<bool (Utils::MimeType const&, Utils::FilePath const&)> const&, std::function<ProjectExplorer::FileType (Utils::MimeType const&, Utils::FilePath const&)> const&) ../../src/plugins/projectexplorer/treescanner.cpp:183 (libProjectExplorer.so+0x67dc79)
    #5 operator() ../../src/plugins/projectexplorer/treescanner.cpp:71 (libProjectExplorer.so+0x67e9a0)
    #6 runAsyncQFutureInterfaceDispatch<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:257 (libProjectExplorer.so+0x67e9a0)
    #7 runAsyncMemberDispatch<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:274 (libProjectExplorer.so+0x67e9a0)
    #8 runAsyncImpl<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x67e9a0)
    #9 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x67e9a0)
    #10 run ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x67e9a0)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T35 'QThread' (tid=1301852, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateFallbackProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:722 (libCMakeProjectManager.so+0xa1b80)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:532 (libCMakeProjectManager.so+0xa2e94)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:801 (libCMakeProjectManager.so+0xa3738)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010168 by thread T35:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QList<ProjectExplorer::FileNode*> ProjectExplorer::scanForFiles<ProjectExplorer::TreeScanner::Result>(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, Utils::FilePath const&, std::function<ProjectExplorer::FileNode* (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/projectnodeshelper.h:116 (libProjectExplorer.so+0x683866)
    #5 ProjectExplorer::TreeScanner::scanForFiles(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, Utils::FilePath const&, std::function<bool (Utils::MimeType const&, Utils::FilePath const&)> const&, std::function<ProjectExplorer::FileType (Utils::MimeType const&, Utils::FilePath const&)> const&) ../../src/plugins/projectexplorer/treescanner.cpp:183 (libProjectExplorer.so+0x67dc79)
    #6 operator() ../../src/plugins/projectexplorer/treescanner.cpp:71 (libProjectExplorer.so+0x67e9a0)
    #7 runAsyncQFutureInterfaceDispatch<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:257 (libProjectExplorer.so+0x67e9a0)
    #8 runAsyncMemberDispatch<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:274 (libProjectExplorer.so+0x67e9a0)
    #9 runAsyncImpl<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x67e9a0)
    #10 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x67e9a0)
    #11 run ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x67e9a0)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000010168 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 Core::FutureProgress* Core::ProgressManager::addTask<ProjectExplorer::TreeScanner::Result>(QFuture<ProjectExplorer::TreeScanner::Result> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.h:58 (libCMakeProjectManager.so+0xa1c68)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateFallbackProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:723 (libCMakeProjectManager.so+0xa1c68)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:532 (libCMakeProjectManager.so+0xa2e94)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:801 (libCMakeProjectManager.so+0xa3738)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T35 'QThread' (tid=1301852, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateFallbackProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:722 (libCMakeProjectManager.so+0xa1b80)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:532 (libCMakeProjectManager.so+0xa2e94)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:801 (libCMakeProjectManager.so+0xa3738)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010198 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::FutureProgressPrivate::FutureProgressPrivate(Core::FutureProgress*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:76 (libCore.so+0x43fb04)
    #5 Core::FutureProgress::FutureProgress(QWidget*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:126 (libCore.so+0x43fcd6)
    #6 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #7 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #8 Core::FutureProgress* Core::ProgressManager::addTask<ProjectExplorer::TreeScanner::Result>(QFuture<ProjectExplorer::TreeScanner::Result> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.h:58 (libCMakeProjectManager.so+0xa1c68)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::updateFallbackProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:723 (libCMakeProjectManager.so+0xa1c68)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:532 (libCMakeProjectManager.so+0xa2e94)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:801 (libCMakeProjectManager.so+0xa3738)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #13 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #14 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #18 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #19 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #20 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #21 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000010198 by thread T35:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QList<ProjectExplorer::FileNode*> ProjectExplorer::scanForFiles<ProjectExplorer::TreeScanner::Result>(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, Utils::FilePath const&, std::function<ProjectExplorer::FileNode* (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/projectnodeshelper.h:116 (libProjectExplorer.so+0x683866)
    #5 ProjectExplorer::TreeScanner::scanForFiles(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, Utils::FilePath const&, std::function<bool (Utils::MimeType const&, Utils::FilePath const&)> const&, std::function<ProjectExplorer::FileType (Utils::MimeType const&, Utils::FilePath const&)> const&) ../../src/plugins/projectexplorer/treescanner.cpp:183 (libProjectExplorer.so+0x67dc79)
    #6 operator() ../../src/plugins/projectexplorer/treescanner.cpp:71 (libProjectExplorer.so+0x67e9a0)
    #7 runAsyncQFutureInterfaceDispatch<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:257 (libProjectExplorer.so+0x67e9a0)
    #8 runAsyncMemberDispatch<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:274 (libProjectExplorer.so+0x67e9a0)
    #9 runAsyncImpl<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x67e9a0)
    #10 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x67e9a0)
    #11 run ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x67e9a0)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T35 'QThread' (tid=1301852, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateFallbackProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:722 (libCMakeProjectManager.so+0xa1b80)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:532 (libCMakeProjectManager.so+0xa2e94)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:801 (libCMakeProjectManager.so+0xa3738)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000101a0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::FutureProgressPrivate::FutureProgressPrivate(Core::FutureProgress*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:76 (libCore.so+0x43fb04)
    #5 Core::FutureProgress::FutureProgress(QWidget*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:126 (libCore.so+0x43fcd6)
    #6 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #7 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #8 Core::FutureProgress* Core::ProgressManager::addTask<ProjectExplorer::TreeScanner::Result>(QFuture<ProjectExplorer::TreeScanner::Result> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.h:58 (libCMakeProjectManager.so+0xa1c68)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::updateFallbackProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:723 (libCMakeProjectManager.so+0xa1c68)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:532 (libCMakeProjectManager.so+0xa2e94)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:801 (libCMakeProjectManager.so+0xa3738)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #13 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #14 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #18 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #19 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #20 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #21 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc0000101a0 by thread T35:
    [failed to restore the stack]

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T35 'QThread' (tid=1301852, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateFallbackProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:722 (libCMakeProjectManager.so+0xa1b80)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:532 (libCMakeProjectManager.so+0xa2e94)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:801 (libCMakeProjectManager.so+0xa3738)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080047b9a0 by thread T22:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QListData::dispose(QListData::Data*) tools/qlist.cpp:180 (libQt5Core.so.5+0xf5d3f)
    #2 void Utils::Internal::blockingContainerMapReduce<QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*) ../../src/libs/utils/mapreduce.h:305 (libCore.so+0x376651)
    #3 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:257 (libCore.so+0x371426)
    #4 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:274 (libCore.so+0x371426)
    #5 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:303 (libCore.so+0x371426)
    #6 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) ../../src/libs/utils/runextensions.h:372 (libCore.so+0x371426)
    #7 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::run() ../../src/libs/utils/runextensions.h:352 (libCore.so+0x371426)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b080047b9a0 by thread T31:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T31 'Thread (pooled)' (tid=1301823, running) created by thread T22 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<std::reference_wrapper<void (Core::ILocatorFilter::* const)(QFutureInterface<void>&)>, std::reference_wrapper<Core::ILocatorFilter*>, void>(QThreadPool*, QThread::Priority, std::reference_wrapper<void (Core::ILocatorFilter::* const)(QFutureInterface<void>&)>&&, std::reference_wrapper<Core::ILocatorFilter*>&&) ../../src/libs/utils/runextensions.h:457 (libCore.so+0x37611b)
    #3 QFuture<void> Utils::runAsync<std::reference_wrapper<void (Core::ILocatorFilter::* const)(QFutureInterface<void>&)>, std::reference_wrapper<Core::ILocatorFilter*>, void, void>(QThreadPool*, std::reference_wrapper<void (Core::ILocatorFilter::* const)(QFutureInterface<void>&)>&&, std::reference_wrapper<Core::ILocatorFilter*>&&) ../../src/libs/utils/runextensions.h:546 (libCore.so+0x37611b)
    #4 Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::schedule() ../../src/libs/utils/mapreduce.h:113 (libCore.so+0x37611b)
    #5 Utils::Internal::MapReduceBase<QList<Core::ILocatorFilter*>::iterator, void, void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void*, void, Utils::Internal::DummyReduce<void> >::exec() ../../src/libs/utils/mapreduce.h:87 (libCore.so+0x37611b)
    #6 void Utils::Internal::blockingIteratorMapReduce<QList<Core::ILocatorFilter*>::iterator, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>::iterator, QList<Core::ILocatorFilter*>::iterator, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*, int) ../../src/libs/utils/mapreduce.h:293 (libCore.so+0x37611b)
    #7 void Utils::Internal::blockingContainerMapReduce<QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), void, Utils::Internal::DummyReduce<void>, void (*)(void*)>(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*) ../../src/libs/utils/mapreduce.h:305 (libCore.so+0x376651)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:257 (libCore.so+0x371426)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:274 (libCore.so+0x371426)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>, void* (*)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (*)(void*), Utils::MapReduceOption, QThreadPool*>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption&&, QThreadPool*&&) ../../src/libs/utils/runextensions.h:303 (libCore.so+0x371426)
    #11 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) ../../src/libs/utils/runextensions.h:372 (libCore.so+0x371426)
    #12 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QList<Core::ILocatorFilter*>&&, void* (*&&)(), void (Core::ILocatorFilter::*&&)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Core::ILocatorFilter*>&, void* (&)(), void (Core::ILocatorFilter::*)(QFutureInterface<void>&), Utils::Internal::DummyReduce<void>, void (&)(void*), Utils::MapReduceOption&, QThreadPool*&>::run() ../../src/libs/utils/runextensions.h:352 (libCore.so+0x371426)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:180 in QListData::dispose(QListData::Data*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7bc000010030 by thread T22:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000010030 by main thread:
    [failed to restore the stack]

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010018 by thread T22:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000010018 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7bc0000100a8 by thread T22:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)

  Previous write of size 8 at 0x7bc0000100a8 by main thread:
    [failed to restore the stack]

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010090 by thread T22:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)

  Previous write of size 8 at 0x7bc000010090 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 operator() ../../src/plugins/cppeditor/cppuseselectionsupdater.cpp:50 (libCppEditor.so+0x407918)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x407918)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x407918)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x407918)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1301822, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Core::DirectoryFilter::setDirectories(QStringList const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:336 (libCore.so+0x343f34)
    #3 Core::DirectoryFilter::addDirectory(QString const&) ../../src/plugins/coreplugin/locator/directoryfilter.cpp:341 (libCore.so+0x3440f7)
    #4 operator() ../../src/plugins/projectexplorer/projectexplorer.cpp:881 (libProjectExplorer.so+0x4c88c9)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x4c88c9)
    #6 call<QtPrivate::List<ProjectExplorer::Project*>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x4c88c9)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x4c88c9)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) ../../src/plugins/projectexplorer/session.cpp:439 (libProjectExplorer.so+0x5d7f70)
    #11 ProjectExplorer::ProjectExplorerPlugin::openProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/projectexplorer.cpp:2560 (libProjectExplorer.so+0x4d659c)
    #12 ProjectExplorer::SessionManagerPrivate::restoreProjects(QList<Utils::FilePath> const&) ../../src/plugins/projectexplorer/session.cpp:978 (libProjectExplorer.so+0x5d9a8c)
    #13 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1114 (libProjectExplorer.so+0x5e0a12)
    #14 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #15 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #16 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080047ef10 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #13 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #14 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #15 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #16 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1535 (libCppEditor.so+0x2e26b8)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #18 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #19 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b080047ef10 by thread T7:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T7 'QThread' (tid=1301882, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #10 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #11 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #12 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #13 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1535 (libCppEditor.so+0x2e26b8)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #15 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #16 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50000a66c8 by thread T8:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50000a66c8 by main thread:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #8 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #9 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #10 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #11 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1535 (libCppEditor.so+0x2e26b8)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #13 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #14 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 472 at 0x7b50000a6600 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:142 (libProjectExplorer.so+0x36ce2e)
    #3 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #4 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #5 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #6 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #7 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1535 (libCppEditor.so+0x2e26b8)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #10 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T8 'QThread' (tid=1301885, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #6 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #7 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #8 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #9 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1535 (libCppEditor.so+0x2e26b8)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #11 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #12 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b60000b1000 by thread T12:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cc8)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cc8)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cc8)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cc8)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cc8)
    #6 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cc8)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cc8)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b60000b1000 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 1024 at 0x7b60000b1000 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301889, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #13 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #15 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #16 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800109dc8 by thread T12:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 Utils::Internal::LauncherReadyReadSignal::~LauncherReadyReadSignal() ../../src/libs/utils/launchersocket.cpp:61 (libUtils.so.7+0x27b6a0)
    #2 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278cfc)
    #3 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #8 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous read of size 4 at 0x7b0800109dc8 by thread T6:
    #0 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:217 (libUtils.so.7+0x2775cc)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301889, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #13 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #15 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #16 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800127de0 by thread T12:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QListData::dispose(QListData::Data*) tools/qlist.cpp:180 (libQt5Core.so.5+0xf5d3f)
    #2 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:118 (libUtils.so.7+0x278d69)
    #3 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #8 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous atomic read of size 4 at 0x7b0800127de0 by thread T6:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27758e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27758e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27758e)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libUtils.so.7+0x27758e)
    #5 QList<Utils::Internal::LauncherSignal*>::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libUtils.so.7+0x27758e)
    #6 QList<Utils::Internal::LauncherSignal*>::end() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:342 (libUtils.so.7+0x27758e)
    #7 QList<Utils::Internal::LauncherSignal*>::last() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:364 (libUtils.so.7+0x27758e)
    #8 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:215 (libUtils.so.7+0x27758e)
    #9 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #10 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301889, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #13 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #15 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #16 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:180 in QListData::dispose(QListData::Data*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800127de8 by thread T12:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QListData::dispose(QListData::Data*) tools/qlist.cpp:180 (libQt5Core.so.5+0xf5d3f)
    #2 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:118 (libUtils.so.7+0x278d69)
    #3 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #8 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous read of size 4 at 0x7b0800127de8 by thread T6:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x27757e)
    #1 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x27757e)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x27757e)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301889, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #13 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #15 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #16 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:180 in QListData::dispose(QListData::Data*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800127df0 by thread T12:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QListData::dispose(QListData::Data*) tools/qlist.cpp:180 (libQt5Core.so.5+0xf5d3f)
    #2 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:118 (libUtils.so.7+0x278d69)
    #3 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #8 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous read of size 8 at 0x7b0800127df0 by thread T6:
    #0 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:215 (libUtils.so.7+0x2775bd)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301889, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #13 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #15 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #16 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:180 in QListData::dispose(QListData::Data*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3c00087798 by thread T12:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Previous write of size 8 at 0x7b3c00087798 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:480 (libUtils.so.7+0x27812f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 240 at 0x7b3c00087780 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:480 (libUtils.so.7+0x27812f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1301889, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #13 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #15 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #16 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080013d5ac by main thread:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x3188da)
    #1 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x3188da)
    #2 Utils::Internal::QtcProcessPrivate::shouldFlush() const ../../src/libs/utils/qtcprocess.cpp:660 (libUtils.so.7+0x3188da)
    #3 Utils::Internal::ProcessInterfaceHandler::doWaitForSignal(QDeadlineTimer) ../../src/libs/utils/qtcprocess.cpp:744 (libUtils.so.7+0x3188da)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:719 (libUtils.so.7+0x324221)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #17 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #19 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #20 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b080013d5a8 by thread T12:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b080013d5a0 allocated by thread T12:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T12 'QThread' (tid=1301889, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #13 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #15 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #16 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 in QListData::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080013d5b0 by main thread:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x323cc7)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cc7)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cc7)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cc7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #17 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #19 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #20 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b080013d5b0 by thread T12:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b080013d5a0 allocated by thread T12:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T12 'QThread' (tid=1301889, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #13 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #15 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #16 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080013d5a0 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x3292ce)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x3292ce)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x3292ce)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x3292ce)
    #5 QList<Utils::Internal::ProcessInterfaceSignal*>::QList(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x3292ce)
    #6 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x323f4c)
    #7 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:818 (libUtils.so.7+0x323f4c)
    #8 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #9 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #10 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #11 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #12 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #13 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #14 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #15 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #16 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #17 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #18 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #19 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #20 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #21 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #23 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #24 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b080013d5a0 by thread T12:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b080013d5a0 allocated by thread T12:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T12 'QThread' (tid=1301889, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #13 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #15 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #16 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800113050 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #13 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #14 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #15 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x2d5f7f)
    #16 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1538 (libCppEditor.so+0x2d5f7f)
    #17 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libCppEditor.so+0x2d5f7f)
    #18 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #19 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #20 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #21 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #22 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #24 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #25 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b0800113050 by thread T13:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T13 'QThread' (tid=1301890, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #12 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x2d5f7f)
    #13 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1538 (libCppEditor.so+0x2d5f7f)
    #14 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libCppEditor.so+0x2d5f7f)
    #15 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #16 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #17 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #18 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #19 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #21 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #22 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800129c90 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #6 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #7 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #8 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #9 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #11 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x2d5f7f)
    #12 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1538 (libCppEditor.so+0x2d5f7f)
    #13 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libCppEditor.so+0x2d5f7f)
    #14 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #15 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #16 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #17 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #18 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #20 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #21 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b0800129c90 by thread T14:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T14 'QThread' (tid=1301893, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x2d5f7f)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1538 (libCppEditor.so+0x2d5f7f)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libCppEditor.so+0x2d5f7f)
    #11 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #12 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #13 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #14 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x2e21a6)
    #15 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1545 (libCppEditor.so+0x2e21a6)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #17 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #18 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b2000054718 by thread T9:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Previous write of size 8 at 0x7b2000054718 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:480 (libUtils.so.7+0x27812f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 120 at 0x7b2000054700 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:480 (libUtils.so.7+0x27812f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1301558, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:155 (libClangCodeModel.so+0x110a93)
    #5 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #6 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #7 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #8 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #10 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #11 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #12 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b7400050a00 by thread T18:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b7400050a00 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 2074 at 0x7b7400050a00 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T18 'QThread' (tid=1301894, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 operator() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:135 (libClangCodeModel.so+0x112a7f)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libClangCodeModel.so+0x112a7f)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libClangCodeModel.so+0x112a7f)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libClangCodeModel.so+0x112a7f)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1550 (libCppEditor.so+0x2e239f)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #12 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #13 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7ffff73ea950 by main thread:
    #0 Utils::MimeDatabasePrivate::shouldCheck() ../../src/libs/utils/mimetypes2/mimedatabase.cpp:99 (libUtils.so.7+0x3bef51)
    #1 Utils::MimeDatabasePrivate::providers() ../../src/libs/utils/mimetypes2/mimedatabase.cpp:226 (libUtils.so.7+0x3bef51)
    #2 Utils::MimeDatabasePrivate::resolveAlias(QString const&) ../../src/libs/utils/mimetypes2/mimedatabase.cpp:236 (libUtils.so.7+0x3befee)
    #3 Utils::MimeDatabasePrivate::mimeTypeForName(QString const&) ../../src/libs/utils/mimetypes2/mimedatabase.cpp:250 (libUtils.so.7+0x3bf229)
    #4 Utils::MimeDatabase::mimeTypeForName(QString const&) const ../../src/libs/utils/mimetypes2/mimedatabase.cpp:604 (libUtils.so.7+0x3bf49d)
    #5 Utils::mimeTypeForName(QString const&) ../../src/libs/utils/mimetypes2/mimeutils.cpp:54 (libUtils.so.7+0x3e5da5)
    #6 LanguageServerProtocol::TextDocumentItem::mimeTypeToLanguageId(QString const&) ../../src/libs/languageserverprotocol/lsptypes.cpp:252 (libLanguageServerProtocol.so.7+0x8ad1a)
    #7 LanguageClient::Client::openDocument(TextEditor::TextDocument*) ../../src/plugins/languageclient/client.cpp:466 (libLanguageClient.so+0x949b3)
    #8 LanguageClient::Client::initializeCallback(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError> const&) ../../src/plugins/languageclient/client.cpp:1688 (libLanguageClient.so+0x9791a)
    #9 operator() ../../src/plugins/languageclient/client.cpp:374 (libLanguageClient.so+0x9875c)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0x9875c)
    #11 std::function<void (LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>)>::operator()(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0xa7b6f)
    #12 LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}::operator()(LanguageServerProtocol::JsonRpcMessage const&) const ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libLanguageClient.so+0xa7b6f)
    #13 std::_Function_handler<void (LanguageServerProtocol::JsonRpcMessage const&), LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}>::_M_invoke(std::_Any_data const&, LanguageServerProtocol::JsonRpcMessage const&) /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0xa7b6f)
    #14 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #15 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #16 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #18 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #19 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #23 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #24 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #26 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #27 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 1 at 0x7ffff73ea950 by thread T35:
    #0 Utils::MimeDatabasePrivate::providers() ../../src/libs/utils/mimetypes2/mimedatabase.cpp:230 (libUtils.so.7+0x3bef61)
    #1 Utils::MimeDatabasePrivate::findByData(QByteArray const&, int*) ../../src/libs/utils/mimetypes2/mimedatabase.cpp:418 (libUtils.so.7+0x3c0f62)
    #2 operator() ../../src/libs/utils/mimetypes2/mimedatabase.cpp:460 (libUtils.so.7+0x3c2474)
    #3 Utils::MimeDatabasePrivate::mimeTypeForFileNameAndData(QString const&, QIODevice*, int*) ../../src/libs/utils/mimetypes2/mimedatabase.cpp:501 (libUtils.so.7+0x3c29ac)
    #4 Utils::MimeDatabase::mimeTypeForFile(QFileInfo const&, Utils::MimeDatabase::MatchMode) const ../../src/libs/utils/mimetypes2/mimedatabase.cpp:668 (libUtils.so.7+0x3c34d2)
    #5 Utils::MimeDatabase::mimeTypeForFile(QString const&, Utils::MimeDatabase::MatchMode) const ../../src/libs/utils/mimetypes2/mimedatabase.cpp:714 (libUtils.so.7+0x3c3781)
    #6 Utils::mimeTypeForFile(Utils::FilePath const&, Utils::MimeMatchMode) ../../src/libs/utils/mimetypes2/mimeutils.cpp:74 (libUtils.so.7+0x3e5fed)
    #7 operator() ../../src/plugins/projectexplorer/treescanner.cpp:171 (libProjectExplorer.so+0x67735f)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:285 (libProjectExplorer.so+0x67735f)
    #9 std::function<ProjectExplorer::FileNode* (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x683448)
    #10 QList<ProjectExplorer::FileNode*> ProjectExplorer::Internal::scanForFilesRecursively<ProjectExplorer::TreeScanner::Result>(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, double, double, Utils::FilePath const&, std::function<ProjectExplorer::FileNode* (Utils::FilePath const&)>, QSet<QString>&, QList<Core::IVersionControl*> const&) ../../src/plugins/projectexplorer/projectnodeshelper.h:86 (libProjectExplorer.so+0x683448)
    #11 QList<ProjectExplorer::FileNode*> ProjectExplorer::Internal::scanForFilesRecursively<ProjectExplorer::TreeScanner::Result>(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, double, double, Utils::FilePath const&, std::function<ProjectExplorer::FileNode* (Utils::FilePath const&)>, QSet<QString>&, QList<Core::IVersionControl*> const&) ../../src/plugins/projectexplorer/projectnodeshelper.h:79 (libProjectExplorer.so+0x6831cb)
    #12 QList<ProjectExplorer::FileNode*> ProjectExplorer::Internal::scanForFilesRecursively<ProjectExplorer::TreeScanner::Result>(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, double, double, Utils::FilePath const&, std::function<ProjectExplorer::FileNode* (Utils::FilePath const&)>, QSet<QString>&, QList<Core::IVersionControl*> const&) ../../src/plugins/projectexplorer/projectnodeshelper.h:79 (libProjectExplorer.so+0x6831cb)
    #13 QList<ProjectExplorer::FileNode*> ProjectExplorer::Internal::scanForFilesRecursively<ProjectExplorer::TreeScanner::Result>(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, double, double, Utils::FilePath const&, std::function<ProjectExplorer::FileNode* (Utils::FilePath const&)>, QSet<QString>&, QList<Core::IVersionControl*> const&) ../../src/plugins/projectexplorer/projectnodeshelper.h:79 (libProjectExplorer.so+0x6831cb)
    #14 QList<ProjectExplorer::FileNode*> ProjectExplorer::Internal::scanForFilesRecursively<ProjectExplorer::TreeScanner::Result>(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, double, double, Utils::FilePath const&, std::function<ProjectExplorer::FileNode* (Utils::FilePath const&)>, QSet<QString>&, QList<Core::IVersionControl*> const&) ../../src/plugins/projectexplorer/projectnodeshelper.h:79 (libProjectExplorer.so+0x6831cb)
    #15 QList<ProjectExplorer::FileNode*> ProjectExplorer::Internal::scanForFilesRecursively<ProjectExplorer::TreeScanner::Result>(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, double, double, Utils::FilePath const&, std::function<ProjectExplorer::FileNode* (Utils::FilePath const&)>, QSet<QString>&, QList<Core::IVersionControl*> const&) ../../src/plugins/projectexplorer/projectnodeshelper.h:79 (libProjectExplorer.so+0x6831cb)
    #16 QList<ProjectExplorer::FileNode*> ProjectExplorer::scanForFiles<ProjectExplorer::TreeScanner::Result>(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, Utils::FilePath const&, std::function<ProjectExplorer::FileNode* (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/projectnodeshelper.h:116 (libProjectExplorer.so+0x683866)
    #17 ProjectExplorer::TreeScanner::scanForFiles(QFutureInterface<ProjectExplorer::TreeScanner::Result>&, Utils::FilePath const&, std::function<bool (Utils::MimeType const&, Utils::FilePath const&)> const&, std::function<ProjectExplorer::FileType (Utils::MimeType const&, Utils::FilePath const&)> const&) ../../src/plugins/projectexplorer/treescanner.cpp:183 (libProjectExplorer.so+0x67dc79)
    #18 operator() ../../src/plugins/projectexplorer/treescanner.cpp:71 (libProjectExplorer.so+0x67e9a0)
    #19 runAsyncQFutureInterfaceDispatch<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:257 (libProjectExplorer.so+0x67e9a0)
    #20 runAsyncMemberDispatch<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:274 (libProjectExplorer.so+0x67e9a0)
    #21 runAsyncImpl<ProjectExplorer::TreeScanner::Result, ProjectExplorer::TreeScanner::asyncScanForFiles(const Utils::FilePath&)::<lambda(ProjectExplorer::TreeScanner::FutureInterface&)> > ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x67e9a0)
    #22 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x67e9a0)
    #23 run ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x67e9a0)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is global 'Utils::(anonymous namespace)::Q_QGS_staticMimeDatabase::innerFunction()::holder' of size 80 at 0x7ffff73ea920 (libUtils.so.7+0x00000051f950)

  Thread T35 'QThread' (tid=1301852, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateFallbackProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:722 (libCMakeProjectManager.so+0xa1b80)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:532 (libCMakeProjectManager.so+0xa2e94)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:801 (libCMakeProjectManager.so+0xa3738)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/mimetypes2/mimedatabase.cpp:99 in Utils::MimeDatabasePrivate::shouldCheck()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b14000aac80 by thread T18:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cc8)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cc8)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cc8)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cc8)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cc8)
    #6 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cc8)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cc8)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b14000aac80 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardErrorPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardErrorPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x278009)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:475 (libUtils.so.7+0x278009)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 77 at 0x7b14000aac80 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardErrorPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardErrorPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x278009)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:475 (libUtils.so.7+0x278009)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T18 'QThread' (tid=1301894, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 operator() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:135 (libClangCodeModel.so+0x112a7f)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libClangCodeModel.so+0x112a7f)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libClangCodeModel.so+0x112a7f)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libClangCodeModel.so+0x112a7f)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1550 (libCppEditor.so+0x2e239f)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #12 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #13 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010720 by thread T18:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 LanguageClient::BaseClientInterface::parseCurrentMessage() ../../src/plugins/languageclient/languageclientinterface.cpp:94 (libLanguageClient.so+0x12880a)
    #5 LanguageClient::BaseClientInterface::parseData(QByteArray const&) ../../src/plugins/languageclient/languageclientinterface.cpp:82 (libLanguageClient.so+0x129e12)
    #6 LanguageClient::StdIOClientInterface::readOutput() ../../src/plugins/languageclient/languageclientinterface.cpp:174 (libLanguageClient.so+0x12a668)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LanguageClient::StdIOClientInterface::*)()>::call(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0x12b197)
    #8 void QtPrivate::FunctionPointer<void (LanguageClient::StdIOClientInterface::*)()>::call<QtPrivate::List<>, void>(void (LanguageClient::StdIOClientInterface::*)(), LanguageClient::StdIOClientInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0x12b197)
    #9 QtPrivate::QSlotObject<void (LanguageClient::StdIOClientInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0x12b197)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::QtcProcessPrivate::emitReadyReadStandardOutput() ../../src/libs/utils/qtcprocess.cpp:1990 (libUtils.so.7+0x31e022)
    #13 Utils::Internal::QtcProcessPrivate::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:1882 (libUtils.so.7+0x3203d9)
    #14 Utils::Internal::QtcProcessPrivate::handleReadyReadSignal(Utils::Internal::ReadyReadSignal const*) ../../src/libs/utils/qtcprocess.cpp:1850 (libUtils.so.7+0x32052f)
    #15 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:840 (libUtils.so.7+0x3240ca)
    #16 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #21 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #22 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #29 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #30 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #31 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #32 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #33 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #34 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #35 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #36 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #37 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #38 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #39 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #40 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7bc000010720 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 LanguageClient::OutlineComboBox::OutlineComboBox(LanguageClient::Client*, TextEditor::BaseTextEditor*) ../../src/plugins/languageclient/languageclientoutline.cpp:335 (libLanguageClient.so+0x13d87d)
    #5 LanguageClient::LanguageClientOutlineWidgetFactory::createComboBox(LanguageClient::Client*, TextEditor::BaseTextEditor*) ../../src/plugins/languageclient/languageclientoutline.cpp:328 (libLanguageClient.so+0x13e49c)
    #6 LanguageClient::updateEditorToolBar(Core::IEditor*) ../../src/plugins/languageclient/languageclientutils.cpp:303 (libLanguageClient.so+0x1794da)
    #7 LanguageClient::Client::activateDocument(TextEditor::TextDocument*) ../../src/plugins/languageclient/client.cpp:674 (libLanguageClient.so+0x94428)
    #8 LanguageClient::LanguageClientManager::openDocumentWithClient(TextEditor::TextDocument*, LanguageClient::Client*) ../../src/plugins/languageclient/languageclientmanager.cpp:422 (libLanguageClient.so+0x12d4fa)
    #9 LanguageClient::Client::openDocument(TextEditor::TextDocument*) ../../src/plugins/languageclient/client.cpp:481 (libLanguageClient.so+0x94d2f)
    #10 LanguageClient::Client::initializeCallback(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError> const&) ../../src/plugins/languageclient/client.cpp:1688 (libLanguageClient.so+0x9791a)
    #11 operator() ../../src/plugins/languageclient/client.cpp:374 (libLanguageClient.so+0x9875c)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0x9875c)
    #13 std::function<void (LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>)>::operator()(LanguageServerProtocol::Response<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError>) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0xa7b6f)
    #14 LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}::operator()(LanguageServerProtocol::JsonRpcMessage const&) const ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libLanguageClient.so+0xa7b6f)
    #15 std::_Function_handler<void (LanguageServerProtocol::JsonRpcMessage const&), LanguageServerProtocol::Request<LanguageServerProtocol::InitializeResult, LanguageServerProtocol::InitializeError, LanguageServerProtocol::InitializeParams>::responseHandler() const::{lambda(LanguageServerProtocol::JsonRpcMessage const&)#1}>::_M_invoke(std::_Any_data const&, LanguageServerProtocol::JsonRpcMessage const&) /usr/include/c++/9/bits/std_function.h:300 (libLanguageClient.so+0xa7b6f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T18 'QThread' (tid=1301894, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 operator() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:135 (libClangCodeModel.so+0x112a7f)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libClangCodeModel.so+0x112a7f)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libClangCodeModel.so+0x112a7f)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libClangCodeModel.so+0x112a7f)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1550 (libCppEditor.so+0x2e239f)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #12 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #13 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010a08 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000010a08 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 Core::FutureProgress* Core::ProgressManager::addTask<CPlusPlus::Usage>(QFuture<CPlusPlus::Usage> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.h:58 (libCppEditor.so+0x266240)
    #7 CppEditor::Internal::CppFindReferences::findAll_helper(Core::SearchResult*, CPlusPlus::Symbol*, CPlusPlus::LookupContext const&, bool) ../../src/plugins/cppeditor/cppfindreferences.cpp:522 (libCppEditor.so+0x266240)
    #8 CppEditor::Internal::CppFindReferences::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&, QString const&, bool) ../../src/plugins/cppeditor/cppfindreferences.cpp:489 (libCppEditor.so+0x267f11)
    #9 CppEditor::Internal::CppFindReferences::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&) ../../src/plugins/cppeditor/cppfindreferences.cpp:451 (libCppEditor.so+0x26811b)
    #10 CppEditor::CppModelManager::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&) ../../src/plugins/cppeditor/cppmodelmanager.cpp:858 (libCppEditor.so+0x2d87b2)
    #11 CppEditor::Internal::BuiltinModelManagerSupport::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&) const ../../src/plugins/cppeditor/cppbuiltinmodelmanagersupport.cpp:217 (libCppEditor.so+0x1607bf)
    #12 CppEditor::CppModelManager::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:329 (libCppEditor.so+0x2d7d12)
    #13 ClangCodeModel::Internal::ClangModelManagerSupport::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&) const ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:248 (libClangCodeModel.so+0x10e720)
    #14 CppEditor::CppModelManager::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:329 (libCppEditor.so+0x2d7d12)
    #15 CppEditor::CppEditorWidget::findUsages(QTextCursor) ../../src/plugins/cppeditor/cppeditorwidget.cpp:803 (libCppEditor.so+0x22e09e)
    #16 CppEditor::CppEditorWidget::findUsages() ../../src/plugins/cppeditor/cppeditorwidget.cpp:789 (libCppEditor.so+0x22e390)
    #17 operator() ../../src/plugins/cppeditor/cppeditorplugin.cpp:373 (libCppEditor.so+0x21ca6b)
    #18 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x21ca6b)
    #19 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x21ca6b)
    #20 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x21ca6b)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010a38 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:410 (libCore.so+0x447c66)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 Core::FutureProgress* Core::ProgressManager::addTask<CPlusPlus::Usage>(QFuture<CPlusPlus::Usage> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.h:58 (libCppEditor.so+0x266240)
    #7 CppEditor::Internal::CppFindReferences::findAll_helper(Core::SearchResult*, CPlusPlus::Symbol*, CPlusPlus::LookupContext const&, bool) ../../src/plugins/cppeditor/cppfindreferences.cpp:522 (libCppEditor.so+0x266240)
    #8 CppEditor::Internal::CppFindReferences::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&, QString const&, bool) ../../src/plugins/cppeditor/cppfindreferences.cpp:489 (libCppEditor.so+0x267f11)
    #9 CppEditor::Internal::CppFindReferences::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&) ../../src/plugins/cppeditor/cppfindreferences.cpp:451 (libCppEditor.so+0x26811b)
    #10 CppEditor::CppModelManager::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&) ../../src/plugins/cppeditor/cppmodelmanager.cpp:858 (libCppEditor.so+0x2d87b2)
    #11 CppEditor::Internal::BuiltinModelManagerSupport::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&) const ../../src/plugins/cppeditor/cppbuiltinmodelmanagersupport.cpp:217 (libCppEditor.so+0x1607bf)
    #12 CppEditor::CppModelManager::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:329 (libCppEditor.so+0x2d7d12)
    #13 ClangCodeModel::Internal::ClangModelManagerSupport::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&) const ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:248 (libClangCodeModel.so+0x10e720)
    #14 CppEditor::CppModelManager::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:329 (libCppEditor.so+0x2d7d12)
    #15 CppEditor::CppEditorWidget::findUsages(QTextCursor) ../../src/plugins/cppeditor/cppeditorwidget.cpp:803 (libCppEditor.so+0x22e09e)
    #16 CppEditor::CppEditorWidget::findUsages() ../../src/plugins/cppeditor/cppeditorwidget.cpp:789 (libCppEditor.so+0x22e390)
    #17 operator() ../../src/plugins/cppeditor/cppeditorplugin.cpp:373 (libCppEditor.so+0x21ca6b)
    #18 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x21ca6b)
    #19 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x21ca6b)
    #20 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x21ca6b)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000010a38 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b10002e4040 by thread T44:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)

  Previous write of size 8 at 0x7b10002e4040 by thread T42:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)

  Thread T44 'Thread (pooled)' (tid=1301939, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T42 'Thread (pooled)' (tid=1301937, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:170 in QListData::realloc_grow(int)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b7400097e00 by thread T51:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QThreadPoolThread::run() thread/qthreadpool.cpp:130 (libQt5Core.so.5+0xbbff0)

  Previous write of size 8 at 0x7b7400097e00 by thread T24:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QThreadPoolPrivate::enqueueTask(QRunnable*, int) thread/qthreadpool.cpp:222 (libQt5Core.so.5+0xbb6a2)
    #2 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #3 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'Thread (pooled)' (tid=1301946, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=1301465)
  Write of size 8 at 0x7b4400299f00 by thread T24:
    #0 ~MappedReducedKernel /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 (libCppEditor.so+0x2608fe)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2608fe)
    #2 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2608fe)
    #3 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #4 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #5 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #9 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #10 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b4400299f00 by thread T62:
    #0 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:228 (libCppEditor.so+0x272306)
    #1 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #2 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 264 at 0x7b4400299f00 allocated by thread T24:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 startMappedReduced<QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libCppEditor.so+0x262883)
    #2 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262883)
    #3 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262883)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'Thread (pooled)' (tid=1301957, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 in ~MappedReducedKernel
==================
==================
WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=1301465)
  Write of size 8 at 0x7b4400299fd0 by thread T24:
    #0 ~MappedReducedKernel /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 (libCppEditor.so+0x260918)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x260918)
    #2 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x260918)
    #3 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #4 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #5 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #9 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #10 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b4400299fd0 by thread T66:
    #0 virtual thunk to QtConcurrent::MappedReducedKernel<QList<CPlusPlus::Usage>, QList<Utils::FilePath>::const_iterator, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI, QtConcurrent::ReduceKernel<CppEditor::Internal::(anonymous namespace)::UpdateUI, QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage> > >::shouldStartThread() <null> (libCppEditor.so+0x25aa8c)
    #1 QtConcurrent::ThreadEngineBase::startThreads() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:269 (libQt5Concurrent.so.5+0x387a)

  Location is heap block of size 264 at 0x7b4400299f00 allocated by thread T24:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 startMappedReduced<QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libCppEditor.so+0x262883)
    #2 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262883)
    #3 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262883)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T66 'Thread (pooled)' (tid=1301961, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 in ~MappedReducedKernel
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b4400299f20 by thread T24:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2609e1)
    #2 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #3 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #4 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #9 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 1 at 0x7b4400299f24 by thread T65:
    #0 virtual thunk to QtConcurrent::MappedReducedKernel<QList<CPlusPlus::Usage>, QList<Utils::FilePath>::const_iterator, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI, QtConcurrent::ReduceKernel<CppEditor::Internal::(anonymous namespace)::UpdateUI, QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage> > >::shouldStartThread() <null> (libCppEditor.so+0x25aaa5)
    #1 QtConcurrent::ThreadEngineBase::startThreads() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:269 (libQt5Concurrent.so.5+0x387a)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b4400299f28 by thread T24:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2609e1)
    #2 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #3 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #4 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #9 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 4 at 0x7b4400299f2c by thread T65:
    #0 virtual thunk to QtConcurrent::MappedReducedKernel<QList<CPlusPlus::Usage>, QList<Utils::FilePath>::const_iterator, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI, QtConcurrent::ReduceKernel<CppEditor::Internal::(anonymous namespace)::UpdateUI, QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage> > >::shouldStartThread() <null> (libCppEditor.so+0x25aac5)
    #1 QtConcurrent::ThreadEngineBase::startThreads() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:269 (libQt5Concurrent.so.5+0x387a)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b4400299f30 by thread T24:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2609e1)
    #2 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #3 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #4 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #9 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 1 at 0x7b4400299f30 by thread T34:
    #0 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:262 (libCppEditor.so+0x2722b0)
    #1 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #2 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T34 'Thread (pooled)' (tid=1301850, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #3 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::BuiltinEditorDocumentProcessor::onSemanticInfoUpdated(CppEditor::SemanticInfo) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:300 (libCppEditor.so+0x11d4f9)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<CppEditor::SemanticInfo const&>, void, void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo)>::call(void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), CppEditor::BuiltinEditorDocumentProcessor*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x126382)
    #6 void QtPrivate::FunctionPointer<void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo)>::call<QtPrivate::List<CppEditor::SemanticInfo const&>, void>(void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), CppEditor::BuiltinEditorDocumentProcessor*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x126382)
    #7 QtPrivate::QSlotObject<void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), QtPrivate::List<CppEditor::SemanticInfo const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x126382)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b4400299fb8 by thread T24:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2609e1)
    #2 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #3 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #4 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #9 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 4 at 0x7b4400299fb8 by thread T34:
    #0 virtual thunk to QtConcurrent::MappedReducedKernel<QList<CPlusPlus::Usage>, QList<Utils::FilePath>::const_iterator, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI, QtConcurrent::ReduceKernel<CppEditor::Internal::(anonymous namespace)::UpdateUI, QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage> > >::shouldThrottleThread() <null> (libCppEditor.so+0x259fa6)
    #1 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:267 (libCppEditor.so+0x2722f6)
    #2 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #3 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T34 'Thread (pooled)' (tid=1301850, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #3 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::BuiltinEditorDocumentProcessor::onSemanticInfoUpdated(CppEditor::SemanticInfo) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:300 (libCppEditor.so+0x11d4f9)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<CppEditor::SemanticInfo const&>, void, void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo)>::call(void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), CppEditor::BuiltinEditorDocumentProcessor*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x126382)
    #6 void QtPrivate::FunctionPointer<void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo)>::call<QtPrivate::List<CppEditor::SemanticInfo const&>, void>(void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), CppEditor::BuiltinEditorDocumentProcessor*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x126382)
    #7 QtPrivate::QSlotObject<void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), QtPrivate::List<CppEditor::SemanticInfo const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x126382)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b4400299fe0 by thread T24:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2609e1)
    #2 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #3 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #4 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #9 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b4400299fe0 by thread T34:
    #0 virtual thunk to QtConcurrent::MappedReducedKernel<QList<CPlusPlus::Usage>, QList<Utils::FilePath>::const_iterator, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI, QtConcurrent::ReduceKernel<CppEditor::Internal::(anonymous namespace)::UpdateUI, QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage> > >::shouldThrottleThread() <null> (libCppEditor.so+0x259f5a)
    #1 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:267 (libCppEditor.so+0x2722f6)
    #2 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #3 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T34 'Thread (pooled)' (tid=1301850, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #3 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::BuiltinEditorDocumentProcessor::onSemanticInfoUpdated(CppEditor::SemanticInfo) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:300 (libCppEditor.so+0x11d4f9)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<CppEditor::SemanticInfo const&>, void, void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo)>::call(void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), CppEditor::BuiltinEditorDocumentProcessor*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x126382)
    #6 void QtPrivate::FunctionPointer<void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo)>::call<QtPrivate::List<CppEditor::SemanticInfo const&>, void>(void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), CppEditor::BuiltinEditorDocumentProcessor*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x126382)
    #7 QtPrivate::QSlotObject<void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), QtPrivate::List<CppEditor::SemanticInfo const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x126382)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b2000245718 by thread T6:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x2cd16d)
    #3 QVector<QPostEvent>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x2cd16d)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:480 (libUtils.so.7+0x27812f)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b2000245718 by thread T18:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Location is heap block of size 120 at 0x7b2000245700 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T18 'QThread' (tid=1301894, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 operator() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:135 (libClangCodeModel.so+0x112a7f)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libClangCodeModel.so+0x112a7f)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libClangCodeModel.so+0x112a7f)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libClangCodeModel.so+0x112a7f)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1550 (libCppEditor.so+0x2e239f)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #12 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #13 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080048c2cc by thread T18:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080048c2c8 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080048c2c0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T18 'QThread' (tid=1301894, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 operator() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:135 (libClangCodeModel.so+0x112a7f)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libClangCodeModel.so+0x112a7f)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libClangCodeModel.so+0x112a7f)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libClangCodeModel.so+0x112a7f)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1550 (libCppEditor.so+0x2e239f)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #12 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #13 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080048c2d0 by thread T18:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080048c2d0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080048c2c0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T18 'QThread' (tid=1301894, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 operator() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:135 (libClangCodeModel.so+0x112a7f)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libClangCodeModel.so+0x112a7f)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libClangCodeModel.so+0x112a7f)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libClangCodeModel.so+0x112a7f)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1550 (libCppEditor.so+0x2e239f)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #12 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #13 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080048c2a8 by thread T18:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080048c2a8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080048c2a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T18 'QThread' (tid=1301894, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 operator() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:135 (libClangCodeModel.so+0x112a7f)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libClangCodeModel.so+0x112a7f)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libClangCodeModel.so+0x112a7f)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libClangCodeModel.so+0x112a7f)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1550 (libCppEditor.so+0x2e239f)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #12 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #13 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080048c2c0 by thread T18:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080048c2c0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080048c2c0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T18 'QThread' (tid=1301894, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 operator() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:135 (libClangCodeModel.so+0x112a7f)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libClangCodeModel.so+0x112a7f)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libClangCodeModel.so+0x112a7f)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libClangCodeModel.so+0x112a7f)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1550 (libCppEditor.so+0x2e239f)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #12 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #13 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080048c2b8 by thread T18:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080048c2b8 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080048c2a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T18 'QThread' (tid=1301894, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 operator() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:135 (libClangCodeModel.so+0x112a7f)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libClangCodeModel.so+0x112a7f)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libClangCodeModel.so+0x112a7f)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libClangCodeModel.so+0x112a7f)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1550 (libCppEditor.so+0x2e239f)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #12 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #13 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080048c2b0 by thread T18:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080048c2b0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080048c2a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T18 'QThread' (tid=1301894, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 ClangCodeModel::Internal::ClangdClient::ClangdClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:1144 (libClangCodeModel.so+0x86ced)
    #3 ClangCodeModel::Internal::ClangModelManagerSupport::createClient(ProjectExplorer::Project*, Utils::FilePath const&) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:473 (libClangCodeModel.so+0x10e89c)
    #4 operator() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:135 (libClangCodeModel.so+0x112a7f)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libClangCodeModel.so+0x112a7f)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libClangCodeModel.so+0x112a7f)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libClangCodeModel.so+0x112a7f)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 CppEditor::CppModelManager::setupFallbackProjectPart() ../../src/plugins/cppeditor/cppmodelmanager.cpp:1550 (libCppEditor.so+0x2e239f)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::CppModelManager::*)()>::call(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x225b87)
    #12 void QtPrivate::FunctionPointer<void (CppEditor::CppModelManager::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::CppModelManager::*)(), CppEditor::CppModelManager*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x225b87)
    #13 QtPrivate::QSlotObject<void (CppEditor::CppModelManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x225b87)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b3400040858 by thread T38:
    #0 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::canReduce(int) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:119 (libClangCodeModel.so+0xd2e55)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:153 (libClangCodeModel.so+0xd2e55)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 4 at 0x7b3400040858 by thread T59:
    #0 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:188 (libClangCodeModel.so+0xd3167)
    #1 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #2 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 208 at 0x7b34000407e0 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> > QtConcurrent::startMappedReduced<TextEditor::HighlightingResult, QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libClangCodeModel.so+0xca977)
    #2 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xca977)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #4 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #6 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #9 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T38 'Thread (pooled)' (tid=1301933, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:119 in QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::canReduce(int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 4 at 0x7b340004085c by thread T38:
    #0 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:154 (libClangCodeModel.so+0xd2e7c)
    #1 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #2 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous read of size 4 at 0x7b340004085c by thread T66:
    #0 virtual thunk to QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::shouldThrottleThread() <null> (libClangCodeModel.so+0x94140)
    #1 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::shouldStartThread() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:209 (libClangCodeModel.so+0x94a52)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::shouldStartThread() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:151 (libClangCodeModel.so+0x94a52)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:247 (libClangCodeModel.so+0xd43b0)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 208 at 0x7b34000407e0 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> > QtConcurrent::startMappedReduced<TextEditor::HighlightingResult, QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libClangCodeModel.so+0xca977)
    #2 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xca977)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #4 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #6 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #9 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T38 'Thread (pooled)' (tid=1301933, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T66 'Thread (pooled)' (tid=1301961, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:154 in QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b3400040868 by thread T38:
    #0 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libClangCodeModel.so+0xd2e8c)
    #1 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libClangCodeModel.so+0xd2e8c)
    #2 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libClangCodeModel.so+0xd2e8c)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b3400040868 by thread T59:
    #0 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:977 (libClangCodeModel.so+0xcf7dd)
    #1 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libClangCodeModel.so+0xd3507)
    #2 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:555 (libClangCodeModel.so+0xd3507)
    #3 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:191 (libClangCodeModel.so+0xd3507)
    #4 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #5 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #6 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #7 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 208 at 0x7b34000407e0 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> > QtConcurrent::startMappedReduced<TextEditor::HighlightingResult, QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libClangCodeModel.so+0xca977)
    #2 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xca977)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #4 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #6 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #9 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T38 'Thread (pooled)' (tid=1301933, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 in QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::detach()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00389eb0 by thread T38:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libClangCodeModel.so+0xd2e97)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libClangCodeModel.so+0xd2e97)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libClangCodeModel.so+0xd2e97)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libClangCodeModel.so+0xd2e97)
    #5 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libClangCodeModel.so+0xd2e97)
    #6 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libClangCodeModel.so+0xd2e97)
    #7 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libClangCodeModel.so+0xd2e97)
    #8 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #9 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #10 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #11 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00389eb0 by thread T59:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libClangCodeModel.so+0xd3507)
    #3 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:555 (libClangCodeModel.so+0xd3507)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:191 (libClangCodeModel.so+0xd3507)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #6 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 40 at 0x7b0c00389eb0 allocated by thread T59:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libClangCodeModel.so+0xd3507)
    #3 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:555 (libClangCodeModel.so+0xd3507)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:191 (libClangCodeModel.so+0xd3507)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #6 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T38 'Thread (pooled)' (tid=1301933, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00389ec0 by thread T38:
    #0 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:710 (libClangCodeModel.so+0xd2eb5)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libClangCodeModel.so+0xd2eb5)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00389ec0 by thread T59:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libClangCodeModel.so+0xd3507)
    #3 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:555 (libClangCodeModel.so+0xd3507)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:191 (libClangCodeModel.so+0xd3507)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #6 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 40 at 0x7b0c00389eb0 allocated by thread T59:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libClangCodeModel.so+0xd3507)
    #3 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:555 (libClangCodeModel.so+0xd3507)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:191 (libClangCodeModel.so+0xd3507)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #6 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T38 'Thread (pooled)' (tid=1301933, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:710 in QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00396018 by thread T50:
    #0 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:716 (libClangCodeModel.so+0xd2f01)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libClangCodeModel.so+0xd2f01)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00396018 by thread T38:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 48 at 0x7b0c00396000 allocated by thread T38:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T50 'Thread (pooled)' (tid=1301945, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T38 'Thread (pooled)' (tid=1301933, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:716 in QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00396008 by thread T50:
    #0 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:719 (libClangCodeModel.so+0xd2ee4)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libClangCodeModel.so+0xd2ee4)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00396008 by thread T38:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 48 at 0x7b0c00396000 allocated by thread T38:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T50 'Thread (pooled)' (tid=1301945, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T38 'Thread (pooled)' (tid=1301933, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:719 in QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00396010 by thread T61:
    #0 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:722 (libClangCodeModel.so+0xd2f12)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libClangCodeModel.so+0xd2f12)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00396010 by thread T38:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 48 at 0x7b0c00396000 allocated by thread T38:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T61 'Thread (pooled)' (tid=1301956, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T38 'Thread (pooled)' (tid=1301933, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:722 in QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800480040 by thread T65:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libClangCodeModel.so+0xb136a)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libClangCodeModel.so+0xb136a)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libClangCodeModel.so+0xb136a)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libClangCodeModel.so+0xb136a)
    #5 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libClangCodeModel.so+0xb136a)
    #6 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #7 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #8 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #9 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #10 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #11 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #12 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #13 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0800480040 by thread T59:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libClangCodeModel.so+0xb1381)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 32 at 0x7b0800480040 allocated by thread T59:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libClangCodeModel.so+0xb1381)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800480058 by thread T65:
    #0 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13c9)
    #1 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13c9)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0800480058 by thread T59:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libClangCodeModel.so+0xb1381)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 32 at 0x7b0800480040 allocated by thread T59:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libClangCodeModel.so+0xb1381)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 in QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00376758 by thread T54:
    #0 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:716 (libClangCodeModel.so+0xd2f01)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libClangCodeModel.so+0xd2f01)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00376758 by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00376740 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T54 'Thread (pooled)' (tid=1301949, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:716 in QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00376748 by thread T54:
    #0 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:719 (libClangCodeModel.so+0xd2ee4)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libClangCodeModel.so+0xd2ee4)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00376748 by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00376740 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T54 'Thread (pooled)' (tid=1301949, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:719 in QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00389ed0 by thread T65:
    #0 QMapData<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:214 (libClangCodeModel.so+0xd31c0)
    #1 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:555 (libClangCodeModel.so+0xd31c0)
    #2 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:191 (libClangCodeModel.so+0xd31c0)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00389ed0 by thread T59:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libClangCodeModel.so+0xd3507)
    #3 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:555 (libClangCodeModel.so+0xd3507)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:191 (libClangCodeModel.so+0xd3507)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #6 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 40 at 0x7b0c00389eb0 allocated by thread T59:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libClangCodeModel.so+0xd3507)
    #3 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:555 (libClangCodeModel.so+0xd3507)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:191 (libClangCodeModel.so+0xd3507)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #6 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:214 in QMapData<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::begin()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0038ced0 by thread T65:
    #0 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:193 (libClangCodeModel.so+0xd3211)
    #1 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #2 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c0038ced0 by thread T50:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 48 at 0x7b0c0038ceb0 allocated by thread T50:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T50 'Thread (pooled)' (tid=1301945, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:193 in QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0038ced8 by thread T65:
    #0 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 (libClangCodeModel.so+0xd3244)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd3244)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c0038ced8 by thread T50:
    #0 QVector<TextEditor::HighlightingResult>::QVector(QVector<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:380 (libClangCodeModel.so+0xb0cf6)
    #1 QtConcurrent::IntermediateResults<TextEditor::HighlightingResult>::IntermediateResults(QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:85 (libClangCodeModel.so+0xd2faa)
    #2 QMapData<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::createNode(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&, QMapNode<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libClangCodeModel.so+0xd2faa)
    #3 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libClangCodeModel.so+0xd2faa)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libClangCodeModel.so+0xd2faa)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #6 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 48 at 0x7b0c0038ceb0 allocated by thread T50:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T50 'Thread (pooled)' (tid=1301945, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 in QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10002f4084 by thread T65:
    #0 QVector<TextEditor::HighlightingResult>::size() const /usr/local/Qt-5.15.2/include/QtCore/qvector.h:88 (libClangCodeModel.so+0xd3255)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 (libClangCodeModel.so+0xd3255)
    #2 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd3255)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b10002f4080 by thread T50:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 52 at 0x7b10002f4080 allocated by thread T50:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T50 'Thread (pooled)' (tid=1301945, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qvector.h:88 in QVector<TextEditor::HighlightingResult>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10002f4090 by thread T65:
    #0 QArrayData::data() /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:61 (libClangCodeModel.so+0xd3285)
    #1 QTypedArrayData<TextEditor::HighlightingResult>::data() /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:208 (libClangCodeModel.so+0xd3285)
    #2 QTypedArrayData<TextEditor::HighlightingResult>::begin(TextEditor::HighlightingResult*) /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:211 (libClangCodeModel.so+0xd3285)
    #3 QVector<TextEditor::HighlightingResult>::at(int) const /usr/local/Qt-5.15.2/include/QtCore/qvector.h:455 (libClangCodeModel.so+0xd3285)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd3285)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd3285)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b10002f4090 by thread T50:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 52 at 0x7b10002f4080 allocated by thread T50:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T50 'Thread (pooled)' (tid=1301945, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:61 in QArrayData::data()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10002f4098 by thread T65:
    #0 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb1411)
    #1 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb1411)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b10002f4098 by thread T50:
    #0 QVector<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult&&) /usr/include/c++/9/new:174 (libClangCodeModel.so+0xce9af)
    #1 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libClangCodeModel.so+0xd3680)
    #2 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 52 at 0x7b10002f4080 allocated by thread T50:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T50 'Thread (pooled)' (tid=1301945, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 in QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b10002f40b0 by thread T65:
    #0 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb1411)
    #1 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb1411)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b10002f40b0 by thread T50:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 52 at 0x7b10002f4080 allocated by thread T50:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T50 'Thread (pooled)' (tid=1301945, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 in QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c003764e0 by thread T49:
    #0 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:722 (libClangCodeModel.so+0xd2f12)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libClangCodeModel.so+0xd2f12)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c003764e0 by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c003764d0 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T49 'Thread (pooled)' (tid=1301944, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:722 in QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c003b6000 by thread T65:
    #0 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:193 (libClangCodeModel.so+0xd3211)
    #1 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #2 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c003b6000 by thread T44:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c003b5fe0 allocated by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T44 'Thread (pooled)' (tid=1301939, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:193 in QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c003b6008 by thread T65:
    #0 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 (libClangCodeModel.so+0xd3244)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd3244)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c003b6008 by thread T44:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c003b5fe0 allocated by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T44 'Thread (pooled)' (tid=1301939, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 in QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10002e8044 by thread T65:
    #0 QVector<TextEditor::HighlightingResult>::size() const /usr/local/Qt-5.15.2/include/QtCore/qvector.h:88 (libClangCodeModel.so+0xd3255)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 (libClangCodeModel.so+0xd3255)
    #2 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd3255)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b10002e8040 by thread T44:
    [failed to restore the stack]

  Location is heap block of size 52 at 0x7b10002e8040 allocated by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T44 'Thread (pooled)' (tid=1301939, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qvector.h:88 in QVector<TextEditor::HighlightingResult>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10002e8050 by thread T65:
    #0 QArrayData::data() /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:61 (libClangCodeModel.so+0xd3285)
    #1 QTypedArrayData<TextEditor::HighlightingResult>::data() /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:208 (libClangCodeModel.so+0xd3285)
    #2 QTypedArrayData<TextEditor::HighlightingResult>::begin(TextEditor::HighlightingResult*) /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:211 (libClangCodeModel.so+0xd3285)
    #3 QVector<TextEditor::HighlightingResult>::at(int) const /usr/local/Qt-5.15.2/include/QtCore/qvector.h:455 (libClangCodeModel.so+0xd3285)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd3285)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd3285)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b10002e8050 by thread T44:
    [failed to restore the stack]

  Location is heap block of size 52 at 0x7b10002e8040 allocated by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T44 'Thread (pooled)' (tid=1301939, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:61 in QArrayData::data()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10002e8058 by thread T65:
    #0 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb1411)
    #1 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb1411)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b10002e8058 by thread T44:
    [failed to restore the stack]

  Location is heap block of size 52 at 0x7b10002e8040 allocated by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T44 'Thread (pooled)' (tid=1301939, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 in QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b50002b0e00 by thread T41:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)

  Previous write of size 8 at 0x7b50002b0e00 by thread T60:
    [failed to restore the stack]

  Thread T41 'Thread (pooled)' (tid=1301936, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T60 'Thread (pooled)' (tid=1301955, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:170 in QListData::realloc_grow(int)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00376760 by thread T65:
    #0 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:193 (libClangCodeModel.so+0xd3211)
    #1 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #2 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00376760 by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00376740 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:193 in QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00376768 by thread T65:
    #0 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 (libClangCodeModel.so+0xd3244)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd3244)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00376768 by thread T67:
    #0 QVector<TextEditor::HighlightingResult>::QVector(QVector<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:380 (libClangCodeModel.so+0xb0cf6)
    #1 QtConcurrent::IntermediateResults<TextEditor::HighlightingResult>::IntermediateResults(QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:85 (libClangCodeModel.so+0xd2faa)
    #2 QMapData<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::createNode(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&, QMapNode<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libClangCodeModel.so+0xd2faa)
    #3 QMap<int, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> >::insert(int const&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libClangCodeModel.so+0xd2faa)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libClangCodeModel.so+0xd2faa)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #6 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #8 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #9 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #10 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #13 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #14 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #15 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00376740 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 in QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100034c104 by thread T65:
    #0 QVector<TextEditor::HighlightingResult>::size() const /usr/local/Qt-5.15.2/include/QtCore/qvector.h:88 (libClangCodeModel.so+0xd3255)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 (libClangCodeModel.so+0xd3255)
    #2 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd3255)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b100034c100 by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 52 at 0x7b100034c100 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qvector.h:88 in QVector<TextEditor::HighlightingResult>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100034c110 by thread T65:
    #0 QArrayData::data() /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:61 (libClangCodeModel.so+0xd3285)
    #1 QTypedArrayData<TextEditor::HighlightingResult>::data() /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:208 (libClangCodeModel.so+0xd3285)
    #2 QTypedArrayData<TextEditor::HighlightingResult>::begin(TextEditor::HighlightingResult*) /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:211 (libClangCodeModel.so+0xd3285)
    #3 QVector<TextEditor::HighlightingResult>::at(int) const /usr/local/Qt-5.15.2/include/QtCore/qvector.h:455 (libClangCodeModel.so+0xd3285)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd3285)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd3285)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b100034c110 by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 52 at 0x7b100034c100 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:61 in QArrayData::data()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100034c118 by thread T65:
    #0 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb1411)
    #1 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb1411)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b100034c118 by thread T67:
    #0 QVector<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult&&) /usr/include/c++/9/new:174 (libClangCodeModel.so+0xce9af)
    #1 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libClangCodeModel.so+0xd3680)
    #2 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #4 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #5 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #6 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 52 at 0x7b100034c100 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 in QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b100034c230 by thread T65:
    #0 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb1411)
    #1 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb1411)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b100034c230 by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 52 at 0x7b100034c200 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<TextEditor::HighlightingResult>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libClangCodeModel.so+0xb8645)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libClangCodeModel.so+0xd3634)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:189 (libQt5Concurrent.so.5+0x3951)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #8 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #13 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 in QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b8000090000 by thread T67:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libClangCodeModel.so+0xb7a9c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libClangCodeModel.so+0xb7a9c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libClangCodeModel.so+0xb7a9c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libClangCodeModel.so+0xb7a9c)
    #5 QList<TextEditor::HighlightingResult>::QList(QList<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libClangCodeModel.so+0xb7a9c)
    #6 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:239 (libClangCodeModel.so+0xcac22)
    #7 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac22)
    #8 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #9 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #11 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #12 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #13 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #14 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b8000090000 by thread T65:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 4096 at 0x7b8000090000 allocated by thread T65:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=1301465)
  Write of size 8 at 0x7b34000407e0 by thread T67:
    #0 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::~MappedReducedKernel() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 (libClangCodeModel.so+0xc50fe)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc50fe)
    #2 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc50fe)
    #3 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #5 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #6 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b34000407e0 by thread T65:
    #0 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:267 (libClangCodeModel.so+0xd42af)
    #1 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #2 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 208 at 0x7b34000407e0 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> > QtConcurrent::startMappedReduced<TextEditor::HighlightingResult, QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libClangCodeModel.so+0xca977)
    #2 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xca977)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #4 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #6 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #9 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 in QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::~MappedReducedKernel()
==================
==================
WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=1301465)
  Write of size 8 at 0x7b3400040878 by thread T67:
    #0 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::~MappedReducedKernel() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 (libClangCodeModel.so+0xc5118)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc5118)
    #2 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc5118)
    #3 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #5 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #6 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #10 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b3400040878 by thread T50:
    #0 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:267 (libClangCodeModel.so+0xd42cd)
    #1 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #2 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 208 at 0x7b34000407e0 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> > QtConcurrent::startMappedReduced<TextEditor::HighlightingResult, QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libClangCodeModel.so+0xca977)
    #2 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xca977)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #4 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #6 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #9 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T50 'Thread (pooled)' (tid=1301945, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 in QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::~MappedReducedKernel()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004b8180 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 _M_destroy /usr/include/c++/9/bits/std_function.h:191 (libClangCodeModel.so+0x588ef)
    #2 _M_manager /usr/include/c++/9/bits/std_function.h:215 (libClangCodeModel.so+0x588ef)
    #3 std::_Function_base::~_Function_base() /usr/include/c++/9/bits/std_function.h:260 (libClangCodeModel.so+0xc5193)
    #4 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::~function() /usr/include/c++/9/bits/std_function.h:369 (libClangCodeModel.so+0xc5193)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::~MappedReducedKernel() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 (libClangCodeModel.so+0xc5193)
    #6 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc5193)
    #7 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc5193)
    #8 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #9 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #10 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #11 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #13 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #14 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #15 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #16 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b08004b8180 by thread T54:
    #0 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2795 (libClangCodeModel.so+0x83a8c)
    #1 _M_invoke /usr/include/c++/9/bits/std_function.h:285 (libClangCodeModel.so+0x862f5)
    #2 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::operator()(LanguageClient::ExpandedSemanticToken const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xce884)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libClangCodeModel.so+0xd3675)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T54 'Thread (pooled)' (tid=1301949, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004b8188 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 _M_destroy /usr/include/c++/9/bits/std_function.h:191 (libClangCodeModel.so+0x588ef)
    #2 _M_manager /usr/include/c++/9/bits/std_function.h:215 (libClangCodeModel.so+0x588ef)
    #3 std::_Function_base::~_Function_base() /usr/include/c++/9/bits/std_function.h:260 (libClangCodeModel.so+0xc5193)
    #4 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::~function() /usr/include/c++/9/bits/std_function.h:369 (libClangCodeModel.so+0xc5193)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::~MappedReducedKernel() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 (libClangCodeModel.so+0xc5193)
    #6 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc5193)
    #7 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc5193)
    #8 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #9 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #10 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #11 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #13 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #14 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #15 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #16 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b08004b8188 by thread T41:
    #0 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2795 (libClangCodeModel.so+0x838a1)
    #1 _M_invoke /usr/include/c++/9/bits/std_function.h:285 (libClangCodeModel.so+0x862f5)
    #2 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::operator()(LanguageClient::ExpandedSemanticToken const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xce884)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libClangCodeModel.so+0xd3675)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T41 'Thread (pooled)' (tid=1301936, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004b8190 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 _M_destroy /usr/include/c++/9/bits/std_function.h:191 (libClangCodeModel.so+0x588ef)
    #2 _M_manager /usr/include/c++/9/bits/std_function.h:215 (libClangCodeModel.so+0x588ef)
    #3 std::_Function_base::~_Function_base() /usr/include/c++/9/bits/std_function.h:260 (libClangCodeModel.so+0xc5193)
    #4 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::~function() /usr/include/c++/9/bits/std_function.h:369 (libClangCodeModel.so+0xc5193)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::~MappedReducedKernel() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 (libClangCodeModel.so+0xc5193)
    #6 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc5193)
    #7 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc5193)
    #8 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #9 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #10 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #11 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #13 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #14 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #15 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #16 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b08004b8190 by thread T48:
    #0 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2795 (libClangCodeModel.so+0x83bf4)
    #1 _M_invoke /usr/include/c++/9/bits/std_function.h:285 (libClangCodeModel.so+0x862f5)
    #2 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::operator()(LanguageClient::ExpandedSemanticToken const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xce884)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libClangCodeModel.so+0xd3675)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T48 'Thread (pooled)' (tid=1301943, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004b8198 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 _M_destroy /usr/include/c++/9/bits/std_function.h:191 (libClangCodeModel.so+0x588ef)
    #2 _M_manager /usr/include/c++/9/bits/std_function.h:215 (libClangCodeModel.so+0x588ef)
    #3 std::_Function_base::~_Function_base() /usr/include/c++/9/bits/std_function.h:260 (libClangCodeModel.so+0xc5193)
    #4 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::~function() /usr/include/c++/9/bits/std_function.h:369 (libClangCodeModel.so+0xc5193)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::~MappedReducedKernel() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 (libClangCodeModel.so+0xc5193)
    #6 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc5193)
    #7 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc5193)
    #8 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #9 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #10 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #11 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #13 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #14 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #15 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #16 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b08004b8198 by thread T41:
    #0 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2795 (libClangCodeModel.so+0x83a74)
    #1 _M_invoke /usr/include/c++/9/bits/std_function.h:285 (libClangCodeModel.so+0x862f5)
    #2 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::operator()(LanguageClient::ExpandedSemanticToken const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xce884)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libClangCodeModel.so+0xd3675)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T41 'Thread (pooled)' (tid=1301936, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b34000407e8 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc51e5)
    #2 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #5 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b34000407e8 by thread T45:
    #0 QList<LanguageClient::ExpandedSemanticToken>::const_iterator::const_iterator(QList<LanguageClient::ExpandedSemanticToken>::const_iterator const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:304 (libClangCodeModel.so+0xd4246)
    #1 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd4246)
    #2 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #3 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T45 'Thread (pooled)' (tid=1301940, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3400040800 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc51e5)
    #2 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #5 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous atomic read of size 4 at 0x7b3400040800 by thread T41:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libClangCodeModel.so+0xd432d)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libClangCodeModel.so+0xd432d)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libClangCodeModel.so+0xd432d)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:233 (libClangCodeModel.so+0xd432d)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T41 'Thread (pooled)' (tid=1301936, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3400040808 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc51e5)
    #2 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #5 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b340004080c by thread T56:
    #0 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:233 (libClangCodeModel.so+0xd433c)
    #1 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #2 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T56 'Thread (pooled)' (tid=1301951, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3400040810 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc51e5)
    #2 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #5 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 1 at 0x7b3400040810 by thread T41:
    #0 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:262 (libClangCodeModel.so+0xd429d)
    #1 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #2 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T41 'Thread (pooled)' (tid=1301936, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3400040818 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc51e5)
    #2 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #5 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b3400040818 by thread T65:
    #0 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libClangCodeModel.so+0xb135f)
    #1 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #2 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #3 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #6 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3400040820 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc51e5)
    #2 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #5 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b3400040820 by thread T45:
    #0 _M_get_pointer /usr/include/c++/9/bits/std_function.h:159 (libClangCodeModel.so+0x862e7)
    #1 _M_invoke /usr/include/c++/9/bits/std_function.h:285 (libClangCodeModel.so+0x862e7)
    #2 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::operator()(LanguageClient::ExpandedSemanticToken const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xce884)
    #3 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libClangCodeModel.so+0xd3675)
    #4 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T45 'Thread (pooled)' (tid=1301940, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3400040830 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc51e5)
    #2 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #5 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b3400040830 by thread T54:
    #0 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::operator()(LanguageClient::ExpandedSemanticToken const&) const /usr/include/c++/9/bits/std_function.h:686 (libClangCodeModel.so+0xce868)
    #1 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libClangCodeModel.so+0xd3675)
    #2 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T54 'Thread (pooled)' (tid=1301949, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3400040838 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc51e5)
    #2 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #5 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b3400040838 by thread T59:
    #0 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::operator()(LanguageClient::ExpandedSemanticToken const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xce878)
    #1 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libClangCodeModel.so+0xd3675)
    #2 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3400040848 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc51e5)
    #2 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #5 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b3400040848 by thread T48:
    #0 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::canReduce(int) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:116 (libClangCodeModel.so+0xd2b3b)
    #1 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:153 (libClangCodeModel.so+0xd2b3b)
    #2 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #3 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T48 'Thread (pooled)' (tid=1301943, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3400040860 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc51e5)
    #2 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #5 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b3400040860 by thread T65:
    #0 virtual thunk to QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::shouldThrottleThread() <null> (libClangCodeModel.so+0x94150)
    #1 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:267 (libClangCodeModel.so+0xd42e1)
    #2 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #3 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3400040888 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtConcurrent::SequenceHolder2<QList<LanguageClient::ExpandedSemanticToken>, QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>::~SequenceHolder2() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libClangCodeModel.so+0xc51e5)
    #2 QtConcurrent::ThreadEngineStarter<QList<TextEditor::HighlightingResult> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libClangCodeModel.so+0xcac3d)
    #3 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMappedReduced<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper>(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QFlags<QtConcurrent::ReduceOption>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libClangCodeModel.so+0xcac3d)
    #4 QList<TextEditor::HighlightingResult> QtConcurrent::blockingMapped<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)> >(QList<LanguageClient::ExpandedSemanticToken> const&, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:224 (libClangCodeModel.so+0x8fb3f)
    #5 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2882 (libClangCodeModel.so+0x8fb3f)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #8 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #9 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b3400040888 by thread T50:
    #0 virtual thunk to QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::shouldThrottleThread() <null> (libClangCodeModel.so+0x9410a)
    #1 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:267 (libClangCodeModel.so+0xd42e1)
    #2 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #3 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T50 'Thread (pooled)' (tid=1301945, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b8000090008 by thread T67:
    #0 QListData::begin() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:118 (libClangCodeModel.so+0x8fbe2)
    #1 QList<TextEditor::HighlightingResult>::begin() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:338 (libClangCodeModel.so+0x8fbe2)
    #2 cleanupDisabledCode ../../src/plugins/clangcodemodel/clangdclient.cpp:2606 (libClangCodeModel.so+0x8fbe2)
    #3 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2883 (libClangCodeModel.so+0x8fbe2)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #5 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #6 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #7 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #8 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b8000090008 by thread T65:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 4096 at 0x7b8000090000 allocated by thread T65:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:118 in QListData::begin() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b8000090010 by thread T67:
    #0 QList<TextEditor::HighlightingResult>::iterator::operator->() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:254 (libClangCodeModel.so+0x8fc3e)
    #1 cleanupDisabledCode ../../src/plugins/clangcodemodel/clangdclient.cpp:2608 (libClangCodeModel.so+0x8fc3e)
    #2 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2883 (libClangCodeModel.so+0x8fc3e)
    #3 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #4 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #5 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #6 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #7 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b8000090010 by thread T65:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 4096 at 0x7b8000090000 allocated by thread T65:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:254 in QList<TextEditor::HighlightingResult>::iterator::operator->() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b080048006c by thread T67:
    #0 cleanupDisabledCode ../../src/plugins/clangcodemodel/clangdclient.cpp:2608 (libClangCodeModel.so+0x8fc4c)
    #1 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2883 (libClangCodeModel.so+0x8fc4c)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #3 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #4 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #5 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #6 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #7 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #8 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800480068 by thread T59:
    [failed to restore the stack]

  Location is heap block of size 28 at 0x7b0800480060 allocated by thread T59:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb138e)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:625 (libClangCodeModel.so+0xb138e)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/clangcodemodel/clangdclient.cpp:2608 in cleanupDisabledCode
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b080048604c by thread T67:
    #0 cleanupDisabledCode ../../src/plugins/clangcodemodel/clangdclient.cpp:2608 (libClangCodeModel.so+0x8fc4c)
    #1 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2883 (libClangCodeModel.so+0x8fc4c)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #3 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #4 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #5 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #6 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #7 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #8 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800486048 by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b0800486040 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/clangcodemodel/clangdclient.cpp:2608 in cleanupDisabledCode
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b8000090808 by thread T67:
    #0 QList<TextEditor::HighlightingResult>::iterator::operator->() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:254 (libClangCodeModel.so+0x8fc3e)
    #1 cleanupDisabledCode ../../src/plugins/clangcodemodel/clangdclient.cpp:2608 (libClangCodeModel.so+0x8fc3e)
    #2 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2883 (libClangCodeModel.so+0x8fc3e)
    #3 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #4 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #5 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #6 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #7 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b8000090808 by thread T65:
    #0 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13c9)
    #1 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13c9)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 4096 at 0x7b8000090000 allocated by thread T65:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:254 in QList<TextEditor::HighlightingResult>::iterator::operator->() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004ba1e0 by thread T67:
    #0 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collect() ../../src/plugins/clangcodemodel/clangdclient.cpp:3458 (libClangCodeModel.so+0x769e2)
    #1 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2884 (libClangCodeModel.so+0x9035c)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #3 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #4 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #5 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #6 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #7 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #8 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004ba1e0 by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b08004ba1e0 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/clangcodemodel/clangdclient.cpp:3458 in ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collect()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004ba0e0 by thread T67:
    #0 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 (libClangCodeModel.so+0x57eb5)
    #1 QList<TextEditor::HighlightingResult>::iterator std::lower_bound<QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)>(QList<TextEditor::HighlightingResult>::iterator, QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult const&, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)) /usr/include/c++/9/bits/predefined_ops.h:177 (libClangCodeModel.so+0x72851)
    #2 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::insertResult(TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3521 (libClangCodeModel.so+0x72851)
    #3 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::insertResult(ClangCodeModel::Internal::ClangdAstNode const&, TextEditor::TextStyle) ../../src/plugins/clangcodemodel/clangdclient.cpp:3556 (libClangCodeModel.so+0x72dd7)
    #4 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collectFromNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3633 (libClangCodeModel.so+0x73284)
    #5 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3951 (libClangCodeModel.so+0x767f4)
    #6 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #7 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #8 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #9 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #10 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #11 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #12 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #13 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collect() ../../src/plugins/clangcodemodel/clangdclient.cpp:3479 (libClangCodeModel.so+0x76d0b)
    #14 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2884 (libClangCodeModel.so+0x9035c)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #16 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #17 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #18 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #19 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004ba0e0 by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b08004ba0e0 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 in ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004ba0c0 by thread T67:
    #0 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 (libClangCodeModel.so+0x57eb5)
    #1 QList<TextEditor::HighlightingResult>::iterator std::lower_bound<QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)>(QList<TextEditor::HighlightingResult>::iterator, QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult const&, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)) /usr/include/c++/9/bits/predefined_ops.h:177 (libClangCodeModel.so+0x72851)
    #2 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::insertResult(TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3521 (libClangCodeModel.so+0x72851)
    #3 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collectFromNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3888 (libClangCodeModel.so+0x7632c)
    #4 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3951 (libClangCodeModel.so+0x767f4)
    #5 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #6 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #7 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #8 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #9 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #10 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #11 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #12 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collect() ../../src/plugins/clangcodemodel/clangdclient.cpp:3479 (libClangCodeModel.so+0x76d0b)
    #13 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2884 (libClangCodeModel.so+0x9035c)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #15 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #16 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #17 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #18 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004ba0c0 by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b08004ba0c0 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 in ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004ba060 by thread T67:
    #0 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 (libClangCodeModel.so+0x57eb5)
    #1 QList<TextEditor::HighlightingResult>::iterator std::lower_bound<QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)>(QList<TextEditor::HighlightingResult>::iterator, QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult const&, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)) /usr/include/c++/9/bits/predefined_ops.h:177 (libClangCodeModel.so+0x72851)
    #2 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::insertResult(TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3521 (libClangCodeModel.so+0x72851)
    #3 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collectFromNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3888 (libClangCodeModel.so+0x7632c)
    #4 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3951 (libClangCodeModel.so+0x767f4)
    #5 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #6 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #7 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #8 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #9 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #10 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #11 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #12 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #13 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collect() ../../src/plugins/clangcodemodel/clangdclient.cpp:3479 (libClangCodeModel.so+0x76d0b)
    #14 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2884 (libClangCodeModel.so+0x9035c)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #16 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #17 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #18 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #19 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004ba060 by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b08004ba060 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 in ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004ba040 by thread T67:
    #0 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 (libClangCodeModel.so+0x57eb5)
    #1 QList<TextEditor::HighlightingResult>::iterator std::lower_bound<QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)>(QList<TextEditor::HighlightingResult>::iterator, QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult const&, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)) /usr/include/c++/9/bits/predefined_ops.h:177 (libClangCodeModel.so+0x72851)
    #2 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::insertResult(TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3521 (libClangCodeModel.so+0x72851)
    #3 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::insertResult(ClangCodeModel::Internal::ClangdAstNode const&, TextEditor::TextStyle) ../../src/plugins/clangcodemodel/clangdclient.cpp:3556 (libClangCodeModel.so+0x72dd7)
    #4 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collectFromNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3633 (libClangCodeModel.so+0x73284)
    #5 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3951 (libClangCodeModel.so+0x767f4)
    #6 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #7 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #8 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #9 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #10 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #11 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #12 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #13 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #14 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #15 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collect() ../../src/plugins/clangcodemodel/clangdclient.cpp:3479 (libClangCodeModel.so+0x76d0b)
    #16 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2884 (libClangCodeModel.so+0x9035c)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #18 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #19 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #20 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #21 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004ba040 by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b08004ba040 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 in ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004ba000 by thread T67:
    #0 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 (libClangCodeModel.so+0x57eb5)
    #1 QList<TextEditor::HighlightingResult>::iterator std::lower_bound<QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)>(QList<TextEditor::HighlightingResult>::iterator, QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult const&, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)) /usr/include/c++/9/bits/predefined_ops.h:177 (libClangCodeModel.so+0x72851)
    #2 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::insertResult(TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3521 (libClangCodeModel.so+0x72851)
    #3 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collectFromNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3888 (libClangCodeModel.so+0x7632c)
    #4 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3951 (libClangCodeModel.so+0x767f4)
    #5 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #6 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #7 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #8 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #9 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #10 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #11 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #12 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #13 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #14 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #15 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collect() ../../src/plugins/clangcodemodel/clangdclient.cpp:3479 (libClangCodeModel.so+0x76d0b)
    #16 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2884 (libClangCodeModel.so+0x9035c)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #18 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #19 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #20 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #21 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004ba000 by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b08004ba000 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 in ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800486fe0 by thread T67:
    #0 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 (libClangCodeModel.so+0x57eb5)
    #1 QList<TextEditor::HighlightingResult>::iterator std::lower_bound<QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)>(QList<TextEditor::HighlightingResult>::iterator, QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult const&, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)) /usr/include/c++/9/bits/predefined_ops.h:177 (libClangCodeModel.so+0x72851)
    #2 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::insertResult(TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3521 (libClangCodeModel.so+0x72851)
    #3 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::insertResult(ClangCodeModel::Internal::ClangdAstNode const&, TextEditor::TextStyle) ../../src/plugins/clangcodemodel/clangdclient.cpp:3556 (libClangCodeModel.so+0x72dd7)
    #4 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collectFromNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3633 (libClangCodeModel.so+0x73284)
    #5 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3951 (libClangCodeModel.so+0x767f4)
    #6 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #7 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #8 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #9 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #10 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #11 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #12 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #13 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #14 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #15 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #16 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #17 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collect() ../../src/plugins/clangcodemodel/clangdclient.cpp:3479 (libClangCodeModel.so+0x76d0b)
    #18 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2884 (libClangCodeModel.so+0x9035c)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #20 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #21 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #22 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #23 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800486fe0 by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b0800486fe0 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 in ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004ba840 by thread T67:
    #0 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 (libClangCodeModel.so+0x57eb5)
    #1 QList<TextEditor::HighlightingResult>::iterator std::lower_bound<QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)>(QList<TextEditor::HighlightingResult>::iterator, QList<TextEditor::HighlightingResult>::iterator, TextEditor::HighlightingResult const&, bool (*)(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)) /usr/include/c++/9/bits/predefined_ops.h:177 (libClangCodeModel.so+0x72851)
    #2 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::insertResult(TextEditor::HighlightingResult const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3521 (libClangCodeModel.so+0x72851)
    #3 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collectFromNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3888 (libClangCodeModel.so+0x7632c)
    #4 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3951 (libClangCodeModel.so+0x767f4)
    #5 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #6 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #7 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #8 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #9 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #10 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::visitNode(ClangCodeModel::Internal::ClangdAstNode const&) ../../src/plugins/clangcodemodel/clangdclient.cpp:3959 (libClangCodeModel.so+0x7685d)
    #11 ClangCodeModel::Internal::ExtraHighlightingResultsCollector::collect() ../../src/plugins/clangcodemodel/clangdclient.cpp:3479 (libClangCodeModel.so+0x76d0b)
    #12 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2884 (libClangCodeModel.so+0x9035c)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #14 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #15 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #16 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #17 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004ba840 by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b08004ba840 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/clangcodemodel/clangdclient.cpp:3485 in ClangCodeModel::Internal::ExtraHighlightingResultsCollector::lessThan(TextEditor::HighlightingResult const&, TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800486124 by thread T67:
    #0 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2895 (libClangCodeModel.so+0x906e0)
    #1 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #2 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #3 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #4 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #5 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #6 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #7 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800486120 by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b0800486120 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/clangcodemodel/clangdclient.cpp:2895 in semanticHighlighter
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800480060 by thread T67:
    #0 QVector<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/include/c++/9/new:174 (libClangCodeModel.so+0xcb076)
    #1 QVector<TextEditor::HighlightingResult>::QVector<QList<TextEditor::HighlightingResult>::const_iterator, true>(QList<TextEditor::HighlightingResult>::const_iterator, QList<TextEditor::HighlightingResult>::const_iterator) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:272 (libClangCodeModel.so+0x909aa)
    #2 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2905 (libClangCodeModel.so+0x909aa)
    #3 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #4 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #5 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #6 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #7 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800480060 by thread T59:
    [failed to restore the stack]

  Location is heap block of size 28 at 0x7b0800480060 allocated by thread T59:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb138e)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:625 (libClangCodeModel.so+0xb138e)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/new:174 in QVector<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800486040 by thread T67:
    #0 QVector<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/include/c++/9/new:174 (libClangCodeModel.so+0xcb076)
    #1 QVector<TextEditor::HighlightingResult>::QVector<QList<TextEditor::HighlightingResult>::const_iterator, true>(QList<TextEditor::HighlightingResult>::const_iterator, QList<TextEditor::HighlightingResult>::const_iterator) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:272 (libClangCodeModel.so+0x909aa)
    #2 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2905 (libClangCodeModel.so+0x909aa)
    #3 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #4 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #5 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #6 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #7 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800486040 by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b0800486040 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd30ff)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd30ff)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd30ff)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:184 (libClangCodeModel.so+0xd30ff)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/new:174 in QVector<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0800486138 by thread T67:
    #0 QVector<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/include/c++/9/new:174 (libClangCodeModel.so+0xcb076)
    #1 QVector<TextEditor::HighlightingResult>::QVector<QList<TextEditor::HighlightingResult>::const_iterator, true>(QList<TextEditor::HighlightingResult>::const_iterator, QList<TextEditor::HighlightingResult>::const_iterator) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:272 (libClangCodeModel.so+0x909aa)
    #2 semanticHighlighter ../../src/plugins/clangcodemodel/clangdclient.cpp:2905 (libClangCodeModel.so+0x909aa)
    #3 void Utils::Internal::runAsyncQFutureInterfaceDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(std::integral_constant<bool, true>, QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:257 (libClangCodeModel.so+0x9424e)
    #4 void Utils::Internal::runAsyncMemberDispatch<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer, void>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:274 (libClangCodeModel.so+0x9424e)
    #5 void Utils::Internal::runAsyncImpl<TextEditor::HighlightingResult, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>(QFutureInterface<TextEditor::HighlightingResult>&, void (*&&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath&&, QList<LanguageClient::ExpandedSemanticToken>&&, QString&&, ClangCodeModel::Internal::ClangdAstNode&&, QPointer<TextEditor::TextDocument>&&, int&&, QVersionNumber&&, ClangCodeModel::Internal::TaskTimer&&) ../../src/libs/utils/runextensions.h:303 (libClangCodeModel.so+0x9424e)
    #6 void Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) ../../src/libs/utils/runextensions.h:372 (libClangCodeModel.so+0x9424e)
    #7 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::run() ../../src/libs/utils/runextensions.h:352 (libClangCodeModel.so+0x9424e)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 1 at 0x7b0800486138 by thread T65:
    #0 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb1404)
    #1 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb1404)
    #2 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #3 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #4 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #7 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 28 at 0x7b0800486120 allocated by thread T65:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<TextEditor::HighlightingResult>::node_construct(QList<TextEditor::HighlightingResult>::Node*, TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libClangCodeModel.so+0xb13f4)
    #2 QList<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libClangCodeModel.so+0xb13f4)
    #3 QList<TextEditor::HighlightingResult>::push_back(TextEditor::HighlightingResult const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:377 (libClangCodeModel.so+0xd329e)
    #4 void QtPrivate::PushBackWrapper::operator()<QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>(QList<TextEditor::HighlightingResult>&, TextEditor::HighlightingResult const&) const /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentfunctionwrappers.h:225 (libClangCodeModel.so+0xd329e)
    #5 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::reduceResult(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libClangCodeModel.so+0xd329e)
    #6 QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:197 (libClangCodeModel.so+0xd329e)
    #7 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libClangCodeModel.so+0xd369f)
    #8 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #9 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #10 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'Thread (pooled)' (tid=1301960, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/new:174 in QVector<TextEditor::HighlightingResult>::append(TextEditor::HighlightingResult const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b940017e810 by thread T67:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QArrayData::deallocate(QArrayData*, unsigned long, unsigned long) tools/qarraydata.cpp:267 (libQt5Core.so.5+0xc61b9)
    #2 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:41 (libUtils.so.7+0x32ee0b)
    #3 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b940017e810 by main thread:
    #0 QArrayData::data() /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:61 (libCppEditor.so+0x441653)
    #1 QTypedArrayData<TextEditor::HighlightingResult>::data() /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:208 (libCppEditor.so+0x441653)
    #2 QTypedArrayData<TextEditor::HighlightingResult>::begin(TextEditor::HighlightingResult*) /usr/local/Qt-5.15.2/include/QtCore/qarraydata.h:211 (libCppEditor.so+0x441653)
    #3 QVector<TextEditor::HighlightingResult>::at(int) const /usr/local/Qt-5.15.2/include/QtCore/qvector.h:455 (libCppEditor.so+0x441653)
    #4 TextEditor::HighlightingResult const* QtPrivate::ResultIteratorBase::pointer<TextEditor::HighlightingResult>() const /usr/local/Qt-5.15.2/include/QtCore/qresultstore.h:104 (libCppEditor.so+0x441653)
    #5 TextEditor::HighlightingResult const& QtPrivate::ResultIteratorBase::value<TextEditor::HighlightingResult>() const /usr/local/Qt-5.15.2/include/QtCore/qresultstore.h:97 (libCppEditor.so+0x441653)
    #6 QFutureInterface<TextEditor::HighlightingResult>::resultReference(int) const /usr/local/Qt-5.15.2/include/QtCore/qfutureinterface.h:249 (libCppEditor.so+0x441653)
    #7 QFuture<TextEditor::HighlightingResult>::resultAt(int) const /usr/local/Qt-5.15.2/include/QtCore/qfuture.h:216 (libCppEditor.so+0x441653)
    #8 QFutureWatcher<TextEditor::HighlightingResult>::resultAt(int) const /usr/local/Qt-5.15.2/include/QtCore/qfuturewatcher.h:128 (libCppEditor.so+0x441653)
    #9 CppEditor::SemanticHighlighter::onHighlighterFinished() ../../src/plugins/cppeditor/semantichighlighter.cpp:273 (libCppEditor.so+0x441653)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppEditor::SemanticHighlighter::*)()>::call(void (CppEditor::SemanticHighlighter::*)(), CppEditor::SemanticHighlighter*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x447b87)
    #11 void QtPrivate::FunctionPointer<void (CppEditor::SemanticHighlighter::*)()>::call<QtPrivate::List<>, void>(void (CppEditor::SemanticHighlighter::*)(), CppEditor::SemanticHighlighter*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x447b87)
    #12 QtPrivate::QSlotObject<void (CppEditor::SemanticHighlighter::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x447b87)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qarraydata.cpp:267 in QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b940017e818 by thread T67:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QArrayData::deallocate(QArrayData*, unsigned long, unsigned long) tools/qarraydata.cpp:267 (libQt5Core.so.5+0xc61b9)
    #2 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:41 (libUtils.so.7+0x32ee0b)
    #3 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b940017e818 by main thread:
    [failed to restore the stack]

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qarraydata.cpp:267 in QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b040007e770 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 void QtPrivate::ResultStoreBase::clear<TextEditor::HighlightingResult>() /usr/local/Qt-5.15.2/include/QtCore/qresultstore.h:184 (libClangCodeModel.so+0xa3543)
    #2 QFutureInterface<TextEditor::HighlightingResult>::~QFutureInterface() /usr/local/Qt-5.15.2/include/QtCore/qfutureinterface.h:164 (libClangCodeModel.so+0xa3543)
    #3 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::~AsyncJob() ../../src/libs/utils/runextensions.h:338 (libClangCodeModel.so+0xa3543)
    #4 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::~AsyncJob() ../../src/libs/utils/runextensions.h:338 (libClangCodeModel.so+0xa3543)
    #5 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:41 (libUtils.so.7+0x32ee0b)
    #6 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b040007e770 by main thread:
    [failed to restore the stack]

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c003766a0 by thread T67:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 qMapDeallocate tools/qmap.cpp:324 (libQt5Core.so.5+0xf6fe2)
    #2 QMapDataBase::freeTree(QMapNodeBase*, int) tools/qmap.cpp:355 (libQt5Core.so.5+0xf6fe2)
    #3 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:41 (libUtils.so.7+0x32ee0b)
    #4 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b0c003766a0 by main thread:
    [failed to restore the stack]

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:324 in qMapDeallocate
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1800302e48 by thread T67:
    #0 pthread_cond_destroy ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1208 (libtsan.so.0+0x467aa)
    #1 QWaitCondition::~QWaitCondition() thread/qwaitcondition_unix.cpp:184 (libQt5Core.so.5+0xbfdcd)
    #2 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:41 (libUtils.so.7+0x32ee0b)
    #3 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b1800302e48 by main thread:
    [failed to restore the stack]

  Location is heap block of size 96 at 0x7b1800302e20 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:184 in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 1 at 0x7b1800302e20 by thread T67:
    #0 pthread_mutex_destroy ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1237 (libtsan.so.0+0x3725c)
    #1 QWaitCondition::~QWaitCondition() thread/qwaitcondition_unix.cpp:185 (libQt5Core.so.5+0xbfdea)
    #2 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:41 (libUtils.so.7+0x32ee0b)
    #3 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous atomic read of size 1 at 0x7b1800302e20 by main thread:
    [failed to restore the stack]

  Location is heap block of size 96 at 0x7b1800302e20 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:185 in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=1301465)
  Write of size 8 at 0x7b3400048088 by thread T67:
    #0 LanguageServerProtocol::JsonObject::~JsonObject() ../../src/libs/languageserverprotocol/jsonobject.h:55 (libClangCodeModel.so+0xa3320)
    #1 ClangCodeModel::Internal::ClangdAstNode::~ClangdAstNode() ../../src/plugins/clangcodemodel/clangdast.h:51 (libClangCodeModel.so+0xa3320)
    #2 std::_Head_base<4ul, ClangCodeModel::Internal::ClangdAstNode, false>::~_Head_base() /usr/include/c++/9/tuple:120 (libClangCodeModel.so+0xa3320)
    #3 std::_Tuple_impl<4ul, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>::~_Tuple_impl() /usr/include/c++/9/tuple:185 (libClangCodeModel.so+0xa3320)
    #4 std::_Tuple_impl<3ul, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>::~_Tuple_impl() /usr/include/c++/9/tuple:185 (libClangCodeModel.so+0xa3320)
    #5 std::_Tuple_impl<2ul, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>::~_Tuple_impl() /usr/include/c++/9/tuple:185 (libClangCodeModel.so+0xa3320)
    #6 std::_Tuple_impl<1ul, Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>::~_Tuple_impl() /usr/include/c++/9/tuple:185 (libClangCodeModel.so+0xa3320)
    #7 std::_Tuple_impl<0ul, void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>::~_Tuple_impl() /usr/include/c++/9/tuple:185 (libClangCodeModel.so+0xa3320)
    #8 std::tuple<void (*)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath, QList<LanguageClient::ExpandedSemanticToken>, QString, ClangCodeModel::Internal::ClangdAstNode, QPointer<TextEditor::TextDocument>, int, QVersionNumber, ClangCodeModel::Internal::TaskTimer>::~tuple() /usr/include/c++/9/tuple:523 (libClangCodeModel.so+0xa3320)
    #9 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::~AsyncJob() ../../src/libs/utils/runextensions.h:338 (libClangCodeModel.so+0xa3320)
    #10 Utils::Internal::AsyncJob<TextEditor::HighlightingResult, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&>::~AsyncJob() ../../src/libs/utils/runextensions.h:338 (libClangCodeModel.so+0xa3320)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:41 (libUtils.so.7+0x32ee0b)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b3400048088 by thread T59:
    #0 ClangCodeModel::Internal::AstPathCollector::collectPath() ../../src/plugins/clangcodemodel/clangdast.cpp:329 (libClangCodeModel.so+0xe0c01)
    #1 ClangCodeModel::Internal::getAstPath(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::Range const&) ../../src/plugins/clangcodemodel/clangdast.cpp:404 (libClangCodeModel.so+0xe0c01)
    #2 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2810 (libClangCodeModel.so+0x83aa7)
    #3 _M_invoke /usr/include/c++/9/bits/std_function.h:285 (libClangCodeModel.so+0x862f5)
    #4 std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>::operator()(LanguageClient::ExpandedSemanticToken const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xce884)
    #5 QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::runIterations(QList<LanguageClient::ExpandedSemanticToken>::const_iterator, int, int, QList<TextEditor::HighlightingResult>*) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libClangCodeModel.so+0xd3675)
    #6 QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libClangCodeModel.so+0xd427e)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<LanguageClient::ExpandedSemanticToken>::const_iterator, QList<TextEditor::HighlightingResult> >::threadFunction() <null> (libClangCodeModel.so+0xd50d3)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 200 at 0x7b3400048020 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QFuture<TextEditor::HighlightingResult> Utils::Internal::runAsync_internal<void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&, TextEditor::HighlightingResult>(QThreadPool*, std::optional<unsigned int>, QThread::Priority, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&) ../../src/libs/utils/runextensions.h:405 (libClangCodeModel.so+0x61ddc)
    #2 QFuture<TextEditor::HighlightingResult> Utils::runAsync<void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&, TextEditor::HighlightingResult>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&) ../../src/libs/utils/runextensions.h:457 (libClangCodeModel.so+0x61ddc)
    #3 QFuture<TextEditor::HighlightingResult> Utils::runAsync<void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&, void, TextEditor::HighlightingResult>(void (&)(QFutureInterface<TextEditor::HighlightingResult>&, Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer const&), Utils::FilePath const&, QList<LanguageClient::ExpandedSemanticToken> const&, QString const&, ClangCodeModel::Internal::ClangdAstNode const&, QPointer<TextEditor::TextDocument> const&, int const&, QVersionNumber const&, ClangCodeModel::Internal::TaskTimer&) ../../src/libs/utils/runextensions.h:531 (libClangCodeModel.so+0x61ddc)
    #4 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2971 (libClangCodeModel.so+0x61ddc)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #6 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #7 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #11 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #13 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #14 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #16 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #17 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #18 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #19 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #20 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #21 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #23 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #24 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #28 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #29 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #31 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #32 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T67 'QThread' (tid=1301969, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libClangCodeModel.so+0x62d1d)
    #3 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #5 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:2991 (libClangCodeModel.so+0x65c79)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x6652c)
    #7 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xa3d9f)
    #8 operator() ../../src/plugins/clangcodemodel/clangdclient.cpp:3440 (libClangCodeModel.so+0x83446)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0x83446)
    #10 std::function<void (ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&)>::operator()(ClangCodeModel::Internal::ClangdAstNode const&, LanguageServerProtocol::MessageId const&) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5b1a)
    #11 operator() ../../src/plugins/clangcodemodel/clangdast.cpp:451 (libClangCodeModel.so+0xd5b1a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5b1a)
    #13 std::function<void (LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>)>::operator()(LanguageServerProtocol::Response<ClangCodeModel::Internal::ClangdAstNode, decltype(nullptr)>) const /usr/include/c++/9/bits/std_function.h:688 (libClangCodeModel.so+0xd5e4f)
    #14 operator() ../../src/libs/languageserverprotocol/jsonrpcmessages.h:387 (libClangCodeModel.so+0xd5e4f)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libClangCodeModel.so+0xd5e4f)
    #16 std::function<void (LanguageServerProtocol::JsonRpcMessage const&)>::operator()(LanguageServerProtocol::JsonRpcMessage const&) const /usr/include/c++/9/bits/std_function.h:688 (libLanguageClient.so+0x88743)
    #17 LanguageClient::Client::handleResponse(LanguageServerProtocol::MessageId const&, LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1410 (libLanguageClient.so+0x88743)
    #18 LanguageClient::Client::handleMessage(LanguageServerProtocol::JsonRpcMessage const&) ../../src/plugins/languageclient/client.cpp:1274 (libLanguageClient.so+0x9d2d2)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void, void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa39f4)
    #20 void QtPrivate::FunctionPointer<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>(void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::Client*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa39f4)
    #21 QtPrivate::QSlotObject<void (LanguageClient::Client::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa39f4)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void, void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libLanguageClient.so+0xa3544)
    #25 void QtPrivate::FunctionPointer<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&)>::call<QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>(void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), LanguageClient::InterfaceController*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libLanguageClient.so+0xa3544)
    #26 QtPrivate::QSlotObject<void (LanguageClient::InterfaceController::*)(LanguageServerProtocol::JsonRpcMessage const&), QtPrivate::List<LanguageServerProtocol::JsonRpcMessage>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libLanguageClient.so+0xa3544)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) ../../src/libs/languageserverprotocol/jsonobject.h:55 in LanguageServerProtocol::JsonObject::~JsonObject()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010888 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::FutureProgressPrivate::FutureProgressPrivate(Core::FutureProgress*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:76 (libCore.so+0x43fb04)
    #5 Core::FutureProgress::FutureProgress(QWidget*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:126 (libCore.so+0x43fcd6)
    #6 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #7 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #8 Core::FutureProgress* Core::ProgressManager::addTask<CPlusPlus::Usage>(QFuture<CPlusPlus::Usage> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.h:58 (libCppEditor.so+0x266240)
    #9 CppEditor::Internal::CppFindReferences::findAll_helper(Core::SearchResult*, CPlusPlus::Symbol*, CPlusPlus::LookupContext const&, bool) ../../src/plugins/cppeditor/cppfindreferences.cpp:522 (libCppEditor.so+0x266240)
    #10 CppEditor::Internal::CppFindReferences::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&, QString const&, bool) ../../src/plugins/cppeditor/cppfindreferences.cpp:489 (libCppEditor.so+0x267f11)
    #11 CppEditor::Internal::CppFindReferences::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&) ../../src/plugins/cppeditor/cppfindreferences.cpp:451 (libCppEditor.so+0x26811b)
    #12 CppEditor::CppModelManager::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&) ../../src/plugins/cppeditor/cppmodelmanager.cpp:858 (libCppEditor.so+0x2d87b2)
    #13 CppEditor::Internal::BuiltinModelManagerSupport::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&) const ../../src/plugins/cppeditor/cppbuiltinmodelmanagersupport.cpp:217 (libCppEditor.so+0x1607bf)
    #14 CppEditor::CppModelManager::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:329 (libCppEditor.so+0x2d7d12)
    #15 ClangCodeModel::Internal::ClangModelManagerSupport::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&) const ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:248 (libClangCodeModel.so+0x10e720)
    #16 CppEditor::CppModelManager::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:329 (libCppEditor.so+0x2d7d12)
    #17 CppEditor::CppEditorWidget::findUsages(QTextCursor) ../../src/plugins/cppeditor/cppeditorwidget.cpp:803 (libCppEditor.so+0x22e09e)
    #18 CppEditor::CppEditorWidget::findUsages() ../../src/plugins/cppeditor/cppeditorwidget.cpp:789 (libCppEditor.so+0x22e390)
    #19 operator() ../../src/plugins/cppeditor/cppeditorplugin.cpp:373 (libCppEditor.so+0x21ca6b)
    #20 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x21ca6b)
    #21 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x21ca6b)
    #22 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x21ca6b)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000010888 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b74000cf800 by thread T34:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QThreadPoolThread::run() thread/qthreadpool.cpp:130 (libQt5Core.so.5+0xbbff0)

  Previous write of size 8 at 0x7b74000cf800 by thread T45:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QThreadPoolPrivate::enqueueTask(QRunnable*, int) thread/qthreadpool.cpp:222 (libQt5Core.so.5+0xbb6a2)

  Thread T34 'Thread (pooled)' (tid=1301850, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 std::function<QFuture<TextEditor::HighlightingResult> ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43e2bd)
    #3 CppEditor::SemanticHighlighter::run() ../../src/plugins/cppeditor/semantichighlighter.cpp:152 (libCppEditor.so+0x43e2bd)
    #4 CppEditor::BuiltinEditorDocumentProcessor::onSemanticInfoUpdated(CppEditor::SemanticInfo) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:300 (libCppEditor.so+0x11d4f9)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<CppEditor::SemanticInfo const&>, void, void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo)>::call(void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), CppEditor::BuiltinEditorDocumentProcessor*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x126382)
    #6 void QtPrivate::FunctionPointer<void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo)>::call<QtPrivate::List<CppEditor::SemanticInfo const&>, void>(void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), CppEditor::BuiltinEditorDocumentProcessor*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x126382)
    #7 QtPrivate::QSlotObject<void (CppEditor::BuiltinEditorDocumentProcessor::*)(CppEditor::SemanticInfo), QtPrivate::List<CppEditor::SemanticInfo const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x126382)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T45 'Thread (pooled)' (tid=1301940, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b440012b6b0 by thread T61:
    #0 canReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:117 (libCppEditor.so+0x264d69)
    #1 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:153 (libCppEditor.so+0x264d69)
    #2 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #3 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 4 at 0x7b440012b6b0 by thread T64:
    #0 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:161 (libCppEditor.so+0x264d80)
    #1 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #2 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 264 at 0x7b440012b600 allocated by thread T24:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 startMappedReduced<QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libCppEditor.so+0x262883)
    #2 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262883)
    #3 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262883)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T61 'Thread (pooled)' (tid=1301956, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:117 in canReduce
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 4 at 0x7b440012b6b4 by thread T61:
    #0 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:154 (libCppEditor.so+0x26511f)
    #1 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #2 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous read of size 4 at 0x7b440012b6b4 by thread T21:
    #0 virtual thunk to QtConcurrent::MappedReducedKernel<QList<CPlusPlus::Usage>, QList<Utils::FilePath>::const_iterator, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI, QtConcurrent::ReduceKernel<CppEditor::Internal::(anonymous namespace)::UpdateUI, QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage> > >::shouldThrottleThread() <null> (libCppEditor.so+0x259f93)
    #1 virtual thunk to QtConcurrent::MappedReducedKernel<QList<CPlusPlus::Usage>, QList<Utils::FilePath>::const_iterator, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI, QtConcurrent::ReduceKernel<CppEditor::Internal::(anonymous namespace)::UpdateUI, QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage> > >::shouldStartThread() <null> (libCppEditor.so+0x25ab0a)
    #2 QtConcurrent::ThreadEngineBase::startThreads() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:269 (libQt5Concurrent.so.5+0x387a)

  Location is heap block of size 264 at 0x7b440012b600 allocated by thread T24:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 startMappedReduced<QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libCppEditor.so+0x262883)
    #2 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262883)
    #3 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262883)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T61 'Thread (pooled)' (tid=1301956, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T21 'Thread (pooled)' (tid=1301932, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:154 in runReduce
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b440012b6c0 by thread T64:
    #0 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:169 (libCppEditor.so+0x264df3)
    #1 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #2 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b440012b6c0 by thread T61:
    #0 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:977 (libCppEditor.so+0x2719c0)
    #1 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libCppEditor.so+0x265297)
    #2 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::insert(int const&, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libCppEditor.so+0x265297)
    #3 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libCppEditor.so+0x265297)
    #4 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #5 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #6 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #7 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 264 at 0x7b440012b600 allocated by thread T24:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 startMappedReduced<QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libCppEditor.so+0x262883)
    #2 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262883)
    #3 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262883)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T61 'Thread (pooled)' (tid=1301956, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:169 in runReduce
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00399e14 by thread T64:
    #0 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:355 (libCppEditor.so+0x264e05)
    #1 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:169 (libCppEditor.so+0x264e05)
    #2 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #3 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00399e10 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libCppEditor.so+0x265297)
    #3 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::insert(int const&, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libCppEditor.so+0x265297)
    #4 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libCppEditor.so+0x265297)
    #5 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #6 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 40 at 0x7b0c00399e10 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libCppEditor.so+0x265297)
    #3 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::insert(int const&, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libCppEditor.so+0x265297)
    #4 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libCppEditor.so+0x265297)
    #5 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #6 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T61 'Thread (pooled)' (tid=1301956, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:355 in QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00399e20 by thread T64:
    #0 QMapData<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:214 (libCppEditor.so+0x26410e)
    #1 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:555 (libCppEditor.so+0x26410e)
    #2 reduceResults /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:135 (libCppEditor.so+0x26410e)
    #3 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:174 (libCppEditor.so+0x264efc)
    #4 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #5 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #6 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #7 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00399e20 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libCppEditor.so+0x265297)
    #3 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::insert(int const&, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libCppEditor.so+0x265297)
    #4 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libCppEditor.so+0x265297)
    #5 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #6 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 40 at 0x7b0c00399e10 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libCppEditor.so+0x265297)
    #3 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::insert(int const&, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libCppEditor.so+0x265297)
    #4 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libCppEditor.so+0x265297)
    #5 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #6 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T61 'Thread (pooled)' (tid=1301956, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:214 in QMapData<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::begin()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b74000a0000 by thread T52:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QThreadPoolThread::run() thread/qthreadpool.cpp:130 (libQt5Core.so.5+0xbbff0)

  Previous write of size 8 at 0x7b74000a0000 by thread T24:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QThreadPoolPrivate::enqueueTask(QRunnable*, int) thread/qthreadpool.cpp:222 (libQt5Core.so.5+0xbb6a2)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1301947, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00399e30 by thread T64:
    #0 QMapData<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:214 (libCppEditor.so+0x264122)
    #1 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:555 (libCppEditor.so+0x264122)
    #2 reduceResults /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:135 (libCppEditor.so+0x264122)
    #3 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:174 (libCppEditor.so+0x264efc)
    #4 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #5 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #6 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #7 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00399e30 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libCppEditor.so+0x265297)
    #3 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::insert(int const&, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libCppEditor.so+0x265297)
    #4 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libCppEditor.so+0x265297)
    #5 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #6 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 40 at 0x7b0c00399e10 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libCppEditor.so+0x265297)
    #3 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::insert(int const&, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libCppEditor.so+0x265297)
    #4 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libCppEditor.so+0x265297)
    #5 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #6 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T61 'Thread (pooled)' (tid=1301956, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:214 in QMapData<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::begin()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00399e08 by thread T64:
    #0 reduceResult /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 (libCppEditor.so+0x26416f)
    #1 reduceResults /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:137 (libCppEditor.so+0x26416f)
    #2 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:174 (libCppEditor.so+0x264efc)
    #3 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #4 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c00399e08 by thread T61:
    #0 QVector<QList<CPlusPlus::Usage> >::QVector(QVector<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:380 (libCppEditor.so+0x270fb8)
    #1 QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> >::IntermediateResults(QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:85 (libCppEditor.so+0x26524e)
    #2 QMapData<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::createNode(int const&, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&, QMapNode<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libCppEditor.so+0x26524e)
    #3 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::insert(int const&, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libCppEditor.so+0x26524e)
    #4 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libCppEditor.so+0x26524e)
    #5 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #6 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 48 at 0x7b0c00399de0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #4 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T61 'Thread (pooled)' (tid=1301956, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 in reduceResult
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800482504 by thread T64:
    #0 QVector<QList<CPlusPlus::Usage> >::size() const /usr/local/Qt-5.15.2/include/QtCore/qvector.h:88 (libCppEditor.so+0x26417c)
    #1 reduceResult /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:126 (libCppEditor.so+0x26417c)
    #2 reduceResults /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:137 (libCppEditor.so+0x26417c)
    #3 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:174 (libCppEditor.so+0x264efc)
    #4 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #5 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #6 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #7 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 4 at 0x7b0800482504 by thread T61:
    #0 QVector<QList<CPlusPlus::Usage> >::append(QList<CPlusPlus::Usage>&&) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:820 (libCppEditor.so+0x270f10)
    #1 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libCppEditor.so+0x265820)
    #2 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 32 at 0x7b0800482500 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<QList<CPlusPlus::Usage> >::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libCppEditor.so+0x270d85)
    #3 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libCppEditor.so+0x2657ce)
    #4 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T61 'Thread (pooled)' (tid=1301956, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qvector.h:88 in QVector<QList<CPlusPlus::Usage> >::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800482518 by thread T64:
    #0 QList<CPlusPlus::Usage>::begin() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:339 (libCppEditor.so+0x2641af)
    #1 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:372 (libCppEditor.so+0x2641af)
    #2 reduceResult /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libCppEditor.so+0x2641af)
    #3 reduceResults /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:137 (libCppEditor.so+0x2641af)
    #4 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:174 (libCppEditor.so+0x264efc)
    #5 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #6 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0800482518 by thread T61:
    #0 QList<CPlusPlus::Usage>::QList(QList<CPlusPlus::Usage>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:165 (libCppEditor.so+0x270ef1)
    #1 QVector<QList<CPlusPlus::Usage> >::append(QList<CPlusPlus::Usage>&&) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:818 (libCppEditor.so+0x270ef1)
    #2 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libCppEditor.so+0x265820)
    #3 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 32 at 0x7b0800482500 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QVector<QList<CPlusPlus::Usage> >::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:419 (libCppEditor.so+0x270d85)
    #3 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:126 (libCppEditor.so+0x2657ce)
    #4 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T61 'Thread (pooled)' (tid=1301956, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:339 in QList<CPlusPlus::Usage>::begin() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0037a4c4 by thread T64:
    #0 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:355 (libCppEditor.so+0x264fb7)
    #1 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:169 (libCppEditor.so+0x264fb7)
    #2 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #3 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c0037a4c0 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libCppEditor.so+0x265297)
    #3 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::insert(int const&, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libCppEditor.so+0x265297)
    #4 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libCppEditor.so+0x265297)
    #5 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #6 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 40 at 0x7b0c0037a4c0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libCppEditor.so+0x265297)
    #3 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::insert(int const&, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libCppEditor.so+0x265297)
    #4 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:155 (libCppEditor.so+0x265297)
    #5 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #6 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T55 'Thread (pooled)' (tid=1301950, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:355 in QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10002ff0c8 by thread T64:
    #0 QListData::begin() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:118 (libCppEditor.so+0x2641bf)
    #1 QList<CPlusPlus::Usage>::begin() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:339 (libCppEditor.so+0x2641bf)
    #2 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:372 (libCppEditor.so+0x2641bf)
    #3 reduceResult /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libCppEditor.so+0x2641bf)
    #4 reduceResults /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:137 (libCppEditor.so+0x2641bf)
    #5 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:174 (libCppEditor.so+0x264efc)
    #6 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #7 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #8 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #9 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b10002ff0c8 by thread T55:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 CPlusPlus::FindUsages::reportResult(unsigned int, QList<CPlusPlus::LookupItem> const&) ../../src/libs/cplusplus/FindUsages.cpp:146 (libCPlusPlus.so.7+0x24080c)
    #3 CPlusPlus::FindUsages::reportResult(unsigned int, CPlusPlus::Name const*, CPlusPlus::Scope*) ../../src/libs/cplusplus/FindUsages.cpp:118 (libCPlusPlus.so.7+0x240faf)
    #4 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleNameAST*) ../../src/libs/cplusplus/FindUsages.cpp:2261 (libCPlusPlus.so.7+0x24132d)
    #5 CPlusPlus::SimpleNameAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:632 (libCPlusPlus.so.7+0x18b4b7)
    #6 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #7 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #8 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #9 CPlusPlus::FindUsages::name(CPlusPlus::NameAST*) ../../src/libs/cplusplus/FindUsages.cpp:614 (libCPlusPlus.so.7+0x23af37)
    #10 CPlusPlus::FindUsages::visit(CPlusPlus::NamedTypeSpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:2360 (libCPlusPlus.so.7+0x23b3ee)
    #11 CPlusPlus::NamedTypeSpecifierAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:418 (libCPlusPlus.so.7+0x189cbf)
    #12 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #13 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #14 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #15 CPlusPlus::FindUsages::specifier(CPlusPlus::SpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:623 (libCPlusPlus.so.7+0x23b485)
    #16 CPlusPlus::FindUsages::visit(CPlusPlus::ParameterDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1953 (libCPlusPlus.so.7+0x23c304)
    #17 CPlusPlus::ParameterDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:725 (libCPlusPlus.so.7+0x18bfcf)
    #18 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #19 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #20 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #21 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #22 CPlusPlus::FindUsages::parameterDeclarationClause(CPlusPlus::ParameterDeclarationClauseAST*) ../../src/libs/cplusplus/FindUsages.cpp:969 (libCPlusPlus.so.7+0x23cbec)
    #23 CPlusPlus::FindUsages::visit(CPlusPlus::FunctionDeclaratorAST*) ../../src/libs/cplusplus/FindUsages.cpp:2492 (libCPlusPlus.so.7+0x23d8be)
    #24 CPlusPlus::FunctionDeclaratorAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:381 (libCPlusPlus.so.7+0x18997f)
    #25 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #26 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #27 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #28 CPlusPlus::FindUsages::postfixDeclarator(CPlusPlus::PostfixDeclaratorAST*) ../../src/libs/cplusplus/FindUsages.cpp:638 (libCPlusPlus.so.7+0x23b8e5)
    #29 CPlusPlus::FindUsages::declarator(CPlusPlus::DeclaratorAST*, CPlusPlus::Scope*) ../../src/libs/cplusplus/FindUsages.cpp:702 (libCPlusPlus.so.7+0x23bbe4)
    #30 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1779 (libCPlusPlus.so.7+0x23c166)
    #31 CPlusPlus::SimpleDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:128 (libCPlusPlus.so.7+0x187d57)
    #32 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #33 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #34 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #35 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #36 CPlusPlus::FindUsages::visit(CPlusPlus::ClassSpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:2350 (libCPlusPlus.so.7+0x23c6c4)
    #37 CPlusPlus::ClassSpecifierAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:293 (libCPlusPlus.so.7+0x188fa7)
    #38 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #39 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #40 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #41 CPlusPlus::FindUsages::specifier(CPlusPlus::SpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:623 (libCPlusPlus.so.7+0x23b485)
    #42 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1776 (libCPlusPlus.so.7+0x23c124)
    #43 CPlusPlus::SimpleDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:128 (libCPlusPlus.so.7+0x187d57)
    #44 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #45 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #46 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #47 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #48 CPlusPlus::FindUsages::visit(CPlusPlus::LinkageBodyAST*) ../../src/libs/cplusplus/FindUsages.cpp:1911 (libCPlusPlus.so.7+0x23adc4)
    #49 CPlusPlus::LinkageBodyAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:566 (libCPlusPlus.so.7+0x18adb7)
    #50 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #51 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #52 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #53 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #54 CPlusPlus::FindUsages::visit(CPlusPlus::NamespaceAST*) ../../src/libs/cplusplus/FindUsages.cpp:1934 (libCPlusPlus.so.7+0x24120d)
    #55 CPlusPlus::NamespaceAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:655 (libCPlusPlus.so.7+0x18b7a7)
    #56 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #57 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #58 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #59 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #60 CPlusPlus::FindUsages::translationUnit(CPlusPlus::TranslationUnitAST*) ../../src/libs/cplusplus/FindUsages.cpp:988 (libCPlusPlus.so.7+0x23cc84)
    #61 CPlusPlus::FindUsages::operator()(CPlusPlus::Symbol*) ../../src/libs/cplusplus/FindUsages.cpp:103 (libCPlusPlus.so.7+0x23e0b1)
    #62 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:352 (libCppEditor.so+0x263f00)
    #63 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libCppEditor.so+0x265815)
    #64 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #65 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #66 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 64 at 0x7b10002ff0c0 allocated by thread T55:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 CPlusPlus::FindUsages::reportResult(unsigned int, QList<CPlusPlus::LookupItem> const&) ../../src/libs/cplusplus/FindUsages.cpp:146 (libCPlusPlus.so.7+0x24080c)
    #3 CPlusPlus::FindUsages::reportResult(unsigned int, CPlusPlus::Name const*, CPlusPlus::Scope*) ../../src/libs/cplusplus/FindUsages.cpp:118 (libCPlusPlus.so.7+0x240faf)
    #4 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleNameAST*) ../../src/libs/cplusplus/FindUsages.cpp:2261 (libCPlusPlus.so.7+0x24132d)
    #5 CPlusPlus::SimpleNameAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:632 (libCPlusPlus.so.7+0x18b4b7)
    #6 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #7 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #8 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #9 CPlusPlus::FindUsages::name(CPlusPlus::NameAST*) ../../src/libs/cplusplus/FindUsages.cpp:614 (libCPlusPlus.so.7+0x23af37)
    #10 CPlusPlus::FindUsages::visit(CPlusPlus::NamedTypeSpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:2360 (libCPlusPlus.so.7+0x23b3ee)
    #11 CPlusPlus::NamedTypeSpecifierAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:418 (libCPlusPlus.so.7+0x189cbf)
    #12 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #13 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #14 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #15 CPlusPlus::FindUsages::specifier(CPlusPlus::SpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:623 (libCPlusPlus.so.7+0x23b485)
    #16 CPlusPlus::FindUsages::visit(CPlusPlus::ParameterDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1953 (libCPlusPlus.so.7+0x23c304)
    #17 CPlusPlus::ParameterDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:725 (libCPlusPlus.so.7+0x18bfcf)
    #18 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #19 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #20 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #21 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #22 CPlusPlus::FindUsages::parameterDeclarationClause(CPlusPlus::ParameterDeclarationClauseAST*) ../../src/libs/cplusplus/FindUsages.cpp:969 (libCPlusPlus.so.7+0x23cbec)
    #23 CPlusPlus::FindUsages::visit(CPlusPlus::FunctionDeclaratorAST*) ../../src/libs/cplusplus/FindUsages.cpp:2492 (libCPlusPlus.so.7+0x23d8be)
    #24 CPlusPlus::FunctionDeclaratorAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:381 (libCPlusPlus.so.7+0x18997f)
    #25 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #26 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #27 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #28 CPlusPlus::FindUsages::postfixDeclarator(CPlusPlus::PostfixDeclaratorAST*) ../../src/libs/cplusplus/FindUsages.cpp:638 (libCPlusPlus.so.7+0x23b8e5)
    #29 CPlusPlus::FindUsages::declarator(CPlusPlus::DeclaratorAST*, CPlusPlus::Scope*) ../../src/libs/cplusplus/FindUsages.cpp:702 (libCPlusPlus.so.7+0x23bbe4)
    #30 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1779 (libCPlusPlus.so.7+0x23c166)
    #31 CPlusPlus::SimpleDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:128 (libCPlusPlus.so.7+0x187d57)
    #32 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #33 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #34 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #35 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #36 CPlusPlus::FindUsages::visit(CPlusPlus::ClassSpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:2350 (libCPlusPlus.so.7+0x23c6c4)
    #37 CPlusPlus::ClassSpecifierAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:293 (libCPlusPlus.so.7+0x188fa7)
    #38 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #39 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #40 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #41 CPlusPlus::FindUsages::specifier(CPlusPlus::SpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:623 (libCPlusPlus.so.7+0x23b485)
    #42 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1776 (libCPlusPlus.so.7+0x23c124)
    #43 CPlusPlus::SimpleDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:128 (libCPlusPlus.so.7+0x187d57)
    #44 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #45 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #46 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #47 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #48 CPlusPlus::FindUsages::visit(CPlusPlus::LinkageBodyAST*) ../../src/libs/cplusplus/FindUsages.cpp:1911 (libCPlusPlus.so.7+0x23adc4)
    #49 CPlusPlus::LinkageBodyAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:566 (libCPlusPlus.so.7+0x18adb7)
    #50 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #51 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #52 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #53 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #54 CPlusPlus::FindUsages::visit(CPlusPlus::NamespaceAST*) ../../src/libs/cplusplus/FindUsages.cpp:1934 (libCPlusPlus.so.7+0x24120d)
    #55 CPlusPlus::NamespaceAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:655 (libCPlusPlus.so.7+0x18b7a7)
    #56 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #57 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #58 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #59 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #60 CPlusPlus::FindUsages::translationUnit(CPlusPlus::TranslationUnitAST*) ../../src/libs/cplusplus/FindUsages.cpp:988 (libCPlusPlus.so.7+0x23cc84)
    #61 CPlusPlus::FindUsages::operator()(CPlusPlus::Symbol*) ../../src/libs/cplusplus/FindUsages.cpp:103 (libCPlusPlus.so.7+0x23e0b1)
    #62 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:352 (libCppEditor.so+0x263f00)
    #63 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libCppEditor.so+0x265815)
    #64 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #65 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #66 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T55 'Thread (pooled)' (tid=1301950, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:118 in QListData::begin() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10002ff0d0 by thread T64:
    #0 QList<CPlusPlus::Usage>::const_iterator::operator*() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:313 (libCppEditor.so+0x2643e0)
    #1 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:372 (libCppEditor.so+0x2643e0)
    #2 reduceResult /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libCppEditor.so+0x2643e0)
    #3 reduceResults /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:137 (libCppEditor.so+0x2643e0)
    #4 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:174 (libCppEditor.so+0x264efc)
    #5 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #6 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #7 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #8 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b10002ff0d0 by thread T55:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 CPlusPlus::FindUsages::reportResult(unsigned int, QList<CPlusPlus::LookupItem> const&) ../../src/libs/cplusplus/FindUsages.cpp:146 (libCPlusPlus.so.7+0x24080c)
    #3 CPlusPlus::FindUsages::reportResult(unsigned int, CPlusPlus::Name const*, CPlusPlus::Scope*) ../../src/libs/cplusplus/FindUsages.cpp:118 (libCPlusPlus.so.7+0x240faf)
    #4 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleNameAST*) ../../src/libs/cplusplus/FindUsages.cpp:2261 (libCPlusPlus.so.7+0x24132d)
    #5 CPlusPlus::SimpleNameAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:632 (libCPlusPlus.so.7+0x18b4b7)
    #6 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #7 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #8 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #9 CPlusPlus::FindUsages::name(CPlusPlus::NameAST*) ../../src/libs/cplusplus/FindUsages.cpp:614 (libCPlusPlus.so.7+0x23af37)
    #10 CPlusPlus::FindUsages::visit(CPlusPlus::NamedTypeSpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:2360 (libCPlusPlus.so.7+0x23b3ee)
    #11 CPlusPlus::NamedTypeSpecifierAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:418 (libCPlusPlus.so.7+0x189cbf)
    #12 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #13 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #14 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #15 CPlusPlus::FindUsages::specifier(CPlusPlus::SpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:623 (libCPlusPlus.so.7+0x23b485)
    #16 CPlusPlus::FindUsages::visit(CPlusPlus::ParameterDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1953 (libCPlusPlus.so.7+0x23c304)
    #17 CPlusPlus::ParameterDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:725 (libCPlusPlus.so.7+0x18bfcf)
    #18 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #19 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #20 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #21 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #22 CPlusPlus::FindUsages::parameterDeclarationClause(CPlusPlus::ParameterDeclarationClauseAST*) ../../src/libs/cplusplus/FindUsages.cpp:969 (libCPlusPlus.so.7+0x23cbec)
    #23 CPlusPlus::FindUsages::visit(CPlusPlus::FunctionDeclaratorAST*) ../../src/libs/cplusplus/FindUsages.cpp:2492 (libCPlusPlus.so.7+0x23d8be)
    #24 CPlusPlus::FunctionDeclaratorAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:381 (libCPlusPlus.so.7+0x18997f)
    #25 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #26 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #27 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #28 CPlusPlus::FindUsages::postfixDeclarator(CPlusPlus::PostfixDeclaratorAST*) ../../src/libs/cplusplus/FindUsages.cpp:638 (libCPlusPlus.so.7+0x23b8e5)
    #29 CPlusPlus::FindUsages::declarator(CPlusPlus::DeclaratorAST*, CPlusPlus::Scope*) ../../src/libs/cplusplus/FindUsages.cpp:702 (libCPlusPlus.so.7+0x23bbe4)
    #30 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1779 (libCPlusPlus.so.7+0x23c166)
    #31 CPlusPlus::SimpleDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:128 (libCPlusPlus.so.7+0x187d57)
    #32 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #33 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #34 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #35 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #36 CPlusPlus::FindUsages::visit(CPlusPlus::ClassSpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:2350 (libCPlusPlus.so.7+0x23c6c4)
    #37 CPlusPlus::ClassSpecifierAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:293 (libCPlusPlus.so.7+0x188fa7)
    #38 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #39 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #40 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #41 CPlusPlus::FindUsages::specifier(CPlusPlus::SpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:623 (libCPlusPlus.so.7+0x23b485)
    #42 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1776 (libCPlusPlus.so.7+0x23c124)
    #43 CPlusPlus::SimpleDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:128 (libCPlusPlus.so.7+0x187d57)
    #44 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #45 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #46 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #47 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #48 CPlusPlus::FindUsages::visit(CPlusPlus::LinkageBodyAST*) ../../src/libs/cplusplus/FindUsages.cpp:1911 (libCPlusPlus.so.7+0x23adc4)
    #49 CPlusPlus::LinkageBodyAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:566 (libCPlusPlus.so.7+0x18adb7)
    #50 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #51 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #52 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #53 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #54 CPlusPlus::FindUsages::visit(CPlusPlus::NamespaceAST*) ../../src/libs/cplusplus/FindUsages.cpp:1934 (libCPlusPlus.so.7+0x24120d)
    #55 CPlusPlus::NamespaceAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:655 (libCPlusPlus.so.7+0x18b7a7)
    #56 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #57 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #58 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #59 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #60 CPlusPlus::FindUsages::translationUnit(CPlusPlus::TranslationUnitAST*) ../../src/libs/cplusplus/FindUsages.cpp:988 (libCPlusPlus.so.7+0x23cc84)
    #61 CPlusPlus::FindUsages::operator()(CPlusPlus::Symbol*) ../../src/libs/cplusplus/FindUsages.cpp:103 (libCPlusPlus.so.7+0x23e0b1)
    #62 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:352 (libCppEditor.so+0x263f00)
    #63 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libCppEditor.so+0x265815)
    #64 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #65 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #66 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 64 at 0x7b10002ff0c0 allocated by thread T55:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 CPlusPlus::FindUsages::reportResult(unsigned int, QList<CPlusPlus::LookupItem> const&) ../../src/libs/cplusplus/FindUsages.cpp:146 (libCPlusPlus.so.7+0x24080c)
    #3 CPlusPlus::FindUsages::reportResult(unsigned int, CPlusPlus::Name const*, CPlusPlus::Scope*) ../../src/libs/cplusplus/FindUsages.cpp:118 (libCPlusPlus.so.7+0x240faf)
    #4 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleNameAST*) ../../src/libs/cplusplus/FindUsages.cpp:2261 (libCPlusPlus.so.7+0x24132d)
    #5 CPlusPlus::SimpleNameAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:632 (libCPlusPlus.so.7+0x18b4b7)
    #6 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #7 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #8 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #9 CPlusPlus::FindUsages::name(CPlusPlus::NameAST*) ../../src/libs/cplusplus/FindUsages.cpp:614 (libCPlusPlus.so.7+0x23af37)
    #10 CPlusPlus::FindUsages::visit(CPlusPlus::NamedTypeSpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:2360 (libCPlusPlus.so.7+0x23b3ee)
    #11 CPlusPlus::NamedTypeSpecifierAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:418 (libCPlusPlus.so.7+0x189cbf)
    #12 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #13 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #14 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #15 CPlusPlus::FindUsages::specifier(CPlusPlus::SpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:623 (libCPlusPlus.so.7+0x23b485)
    #16 CPlusPlus::FindUsages::visit(CPlusPlus::ParameterDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1953 (libCPlusPlus.so.7+0x23c304)
    #17 CPlusPlus::ParameterDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:725 (libCPlusPlus.so.7+0x18bfcf)
    #18 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #19 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #20 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #21 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #22 CPlusPlus::FindUsages::parameterDeclarationClause(CPlusPlus::ParameterDeclarationClauseAST*) ../../src/libs/cplusplus/FindUsages.cpp:969 (libCPlusPlus.so.7+0x23cbec)
    #23 CPlusPlus::FindUsages::visit(CPlusPlus::FunctionDeclaratorAST*) ../../src/libs/cplusplus/FindUsages.cpp:2492 (libCPlusPlus.so.7+0x23d8be)
    #24 CPlusPlus::FunctionDeclaratorAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:381 (libCPlusPlus.so.7+0x18997f)
    #25 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #26 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #27 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #28 CPlusPlus::FindUsages::postfixDeclarator(CPlusPlus::PostfixDeclaratorAST*) ../../src/libs/cplusplus/FindUsages.cpp:638 (libCPlusPlus.so.7+0x23b8e5)
    #29 CPlusPlus::FindUsages::declarator(CPlusPlus::DeclaratorAST*, CPlusPlus::Scope*) ../../src/libs/cplusplus/FindUsages.cpp:702 (libCPlusPlus.so.7+0x23bbe4)
    #30 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1779 (libCPlusPlus.so.7+0x23c166)
    #31 CPlusPlus::SimpleDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:128 (libCPlusPlus.so.7+0x187d57)
    #32 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #33 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #34 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #35 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #36 CPlusPlus::FindUsages::visit(CPlusPlus::ClassSpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:2350 (libCPlusPlus.so.7+0x23c6c4)
    #37 CPlusPlus::ClassSpecifierAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:293 (libCPlusPlus.so.7+0x188fa7)
    #38 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #39 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #40 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #41 CPlusPlus::FindUsages::specifier(CPlusPlus::SpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:623 (libCPlusPlus.so.7+0x23b485)
    #42 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1776 (libCPlusPlus.so.7+0x23c124)
    #43 CPlusPlus::SimpleDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:128 (libCPlusPlus.so.7+0x187d57)
    #44 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #45 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #46 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #47 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #48 CPlusPlus::FindUsages::visit(CPlusPlus::LinkageBodyAST*) ../../src/libs/cplusplus/FindUsages.cpp:1911 (libCPlusPlus.so.7+0x23adc4)
    #49 CPlusPlus::LinkageBodyAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:566 (libCPlusPlus.so.7+0x18adb7)
    #50 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #51 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #52 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #53 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #54 CPlusPlus::FindUsages::visit(CPlusPlus::NamespaceAST*) ../../src/libs/cplusplus/FindUsages.cpp:1934 (libCPlusPlus.so.7+0x24120d)
    #55 CPlusPlus::NamespaceAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:655 (libCPlusPlus.so.7+0x18b7a7)
    #56 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #57 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #58 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #59 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #60 CPlusPlus::FindUsages::translationUnit(CPlusPlus::TranslationUnitAST*) ../../src/libs/cplusplus/FindUsages.cpp:988 (libCPlusPlus.so.7+0x23cc84)
    #61 CPlusPlus::FindUsages::operator()(CPlusPlus::Symbol*) ../../src/libs/cplusplus/FindUsages.cpp:103 (libCPlusPlus.so.7+0x23e0b1)
    #62 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:352 (libCppEditor.so+0x263f00)
    #63 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libCppEditor.so+0x265815)
    #64 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #65 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #66 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T55 'Thread (pooled)' (tid=1301950, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:313 in QList<CPlusPlus::Usage>::const_iterator::operator*() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c003948f0 by thread T64:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCppEditor.so+0x264466)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCppEditor.so+0x264466)
    #2 CPlusPlus::Usage::Usage(CPlusPlus::Usage const&) ../../src/libs/cplusplus/FindUsages.h:39 (libCppEditor.so+0x264466)
    #3 int QtPrivate::ResultStoreBase::addResult<CPlusPlus::Usage>(int, CPlusPlus::Usage const*) /usr/local/Qt-5.15.2/include/QtCore/qresultstore.h:148 (libCppEditor.so+0x264466)
    #4 QFutureInterface<CPlusPlus::Usage>::reportResult(CPlusPlus::Usage const*, int) /usr/local/Qt-5.15.2/include/QtCore/qfutureinterface.h:206 (libCppEditor.so+0x264466)
    #5 QFutureInterface<CPlusPlus::Usage>::reportResult(CPlusPlus::Usage const&, int) /usr/local/Qt-5.15.2/include/QtCore/qfutureinterface.h:214 (libCppEditor.so+0x264466)
    #6 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:373 (libCppEditor.so+0x264466)
    #7 reduceResult /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libCppEditor.so+0x264466)
    #8 reduceResults /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:137 (libCppEditor.so+0x264466)
    #9 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:174 (libCppEditor.so+0x264efc)
    #10 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #11 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #12 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #13 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 8 at 0x7b0c003948f0 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<CPlusPlus::Usage>::node_construct(QList<CPlusPlus::Usage>::Node*, CPlusPlus::Usage const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libCPlusPlus.so.7+0x2478c8)
    #2 QList<CPlusPlus::Usage>::append(CPlusPlus::Usage const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:625 (libCPlusPlus.so.7+0x2478c8)
    #3 CPlusPlus::FindUsages::reportResult(unsigned int, QList<CPlusPlus::LookupItem> const&) ../../src/libs/cplusplus/FindUsages.cpp:146 (libCPlusPlus.so.7+0x24080c)
    #4 CPlusPlus::FindUsages::reportResult(unsigned int, CPlusPlus::Name const*, CPlusPlus::Scope*) ../../src/libs/cplusplus/FindUsages.cpp:118 (libCPlusPlus.so.7+0x240faf)
    #5 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleNameAST*) ../../src/libs/cplusplus/FindUsages.cpp:2261 (libCPlusPlus.so.7+0x24132d)
    #6 CPlusPlus::SimpleNameAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:632 (libCPlusPlus.so.7+0x18b4b7)
    #7 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #8 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #9 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #10 CPlusPlus::FindUsages::name(CPlusPlus::NameAST*) ../../src/libs/cplusplus/FindUsages.cpp:614 (libCPlusPlus.so.7+0x23af37)
    #11 CPlusPlus::FindUsages::visit(CPlusPlus::ElaboratedTypeSpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:2370 (libCPlusPlus.so.7+0x23b6fd)
    #12 CPlusPlus::ElaboratedTypeSpecifierAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:426 (libCPlusPlus.so.7+0x189dd7)
    #13 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #14 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #15 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #16 CPlusPlus::FindUsages::specifier(CPlusPlus::SpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:623 (libCPlusPlus.so.7+0x23b485)
    #17 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1776 (libCPlusPlus.so.7+0x23c124)
    #18 CPlusPlus::SimpleDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:128 (libCPlusPlus.so.7+0x187d57)
    #19 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #20 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #21 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #22 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #23 CPlusPlus::FindUsages::visit(CPlusPlus::LinkageBodyAST*) ../../src/libs/cplusplus/FindUsages.cpp:1911 (libCPlusPlus.so.7+0x23adc4)
    #24 CPlusPlus::LinkageBodyAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:566 (libCPlusPlus.so.7+0x18adb7)
    #25 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #26 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #27 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #28 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #29 CPlusPlus::FindUsages::visit(CPlusPlus::NamespaceAST*) ../../src/libs/cplusplus/FindUsages.cpp:1934 (libCPlusPlus.so.7+0x24120d)
    #30 CPlusPlus::NamespaceAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:655 (libCPlusPlus.so.7+0x18b7a7)
    #31 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #32 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #33 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #34 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #35 CPlusPlus::FindUsages::translationUnit(CPlusPlus::TranslationUnitAST*) ../../src/libs/cplusplus/FindUsages.cpp:988 (libCPlusPlus.so.7+0x23cc84)
    #36 CPlusPlus::FindUsages::operator()(CPlusPlus::Symbol*) ../../src/libs/cplusplus/FindUsages.cpp:103 (libCPlusPlus.so.7+0x23e0b1)
    #37 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:352 (libCppEditor.so+0x263f00)
    #38 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libCppEditor.so+0x265815)
    #39 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #40 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #41 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 48 at 0x7b0c003948f0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<CPlusPlus::Usage>::node_construct(QList<CPlusPlus::Usage>::Node*, CPlusPlus::Usage const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libCPlusPlus.so.7+0x2478c8)
    #2 QList<CPlusPlus::Usage>::append(CPlusPlus::Usage const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:625 (libCPlusPlus.so.7+0x2478c8)
    #3 CPlusPlus::FindUsages::reportResult(unsigned int, QList<CPlusPlus::LookupItem> const&) ../../src/libs/cplusplus/FindUsages.cpp:146 (libCPlusPlus.so.7+0x24080c)
    #4 CPlusPlus::FindUsages::reportResult(unsigned int, CPlusPlus::Name const*, CPlusPlus::Scope*) ../../src/libs/cplusplus/FindUsages.cpp:118 (libCPlusPlus.so.7+0x240faf)
    #5 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleNameAST*) ../../src/libs/cplusplus/FindUsages.cpp:2261 (libCPlusPlus.so.7+0x24132d)
    #6 CPlusPlus::SimpleNameAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:632 (libCPlusPlus.so.7+0x18b4b7)
    #7 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #8 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #9 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #10 CPlusPlus::FindUsages::name(CPlusPlus::NameAST*) ../../src/libs/cplusplus/FindUsages.cpp:614 (libCPlusPlus.so.7+0x23af37)
    #11 CPlusPlus::FindUsages::visit(CPlusPlus::ElaboratedTypeSpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:2370 (libCPlusPlus.so.7+0x23b6fd)
    #12 CPlusPlus::ElaboratedTypeSpecifierAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:426 (libCPlusPlus.so.7+0x189dd7)
    #13 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #14 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #15 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #16 CPlusPlus::FindUsages::specifier(CPlusPlus::SpecifierAST*) ../../src/libs/cplusplus/FindUsages.cpp:623 (libCPlusPlus.so.7+0x23b485)
    #17 CPlusPlus::FindUsages::visit(CPlusPlus::SimpleDeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:1776 (libCPlusPlus.so.7+0x23c124)
    #18 CPlusPlus::SimpleDeclarationAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:128 (libCPlusPlus.so.7+0x187d57)
    #19 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #20 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #21 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #22 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #23 CPlusPlus::FindUsages::visit(CPlusPlus::LinkageBodyAST*) ../../src/libs/cplusplus/FindUsages.cpp:1911 (libCPlusPlus.so.7+0x23adc4)
    #24 CPlusPlus::LinkageBodyAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:566 (libCPlusPlus.so.7+0x18adb7)
    #25 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #26 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #27 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #28 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #29 CPlusPlus::FindUsages::visit(CPlusPlus::NamespaceAST*) ../../src/libs/cplusplus/FindUsages.cpp:1934 (libCPlusPlus.so.7+0x24120d)
    #30 CPlusPlus::NamespaceAST::accept0(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/ASTVisit.cpp:655 (libCPlusPlus.so.7+0x18b7a7)
    #31 CPlusPlus::AST::accept(CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.cpp:51 (libCPlusPlus.so.7+0x1595c0)
    #32 CPlusPlus::AST::accept(CPlusPlus::AST*, CPlusPlus::ASTVisitor*) ../../src/libs/3rdparty/cplusplus/AST.h:143 (libCPlusPlus.so.7+0x19176a)
    #33 CPlusPlus::ASTVisitor::accept(CPlusPlus::AST*) ../../src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36 (libCPlusPlus.so.7+0x19176a)
    #34 CPlusPlus::FindUsages::declaration(CPlusPlus::DeclarationAST*) ../../src/libs/cplusplus/FindUsages.cpp:608 (libCPlusPlus.so.7+0x23aca5)
    #35 CPlusPlus::FindUsages::translationUnit(CPlusPlus::TranslationUnitAST*) ../../src/libs/cplusplus/FindUsages.cpp:988 (libCPlusPlus.so.7+0x23cc84)
    #36 CPlusPlus::FindUsages::operator()(CPlusPlus::Symbol*) ../../src/libs/cplusplus/FindUsages.cpp:103 (libCPlusPlus.so.7+0x23e0b1)
    #37 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:352 (libCppEditor.so+0x263f00)
    #38 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libCppEditor.so+0x265815)
    #39 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #40 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #41 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T55 'Thread (pooled)' (tid=1301950, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b440012b628 by thread T24:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2609e1)
    #2 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #3 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #4 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #9 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 4 at 0x7b440012b62c by thread T64:
    #0 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:233 (libCppEditor.so+0x27234c)
    #1 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #2 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b440012b688 by thread T24:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2609e1)
    #2 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #3 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #4 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #9 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b440012b688 by thread T55:
    #0 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:357 (libCppEditor.so+0x263f8e)
    #1 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:131 (libCppEditor.so+0x265815)
    #2 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'Thread (pooled)' (tid=1301950, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b440012b698 by thread T24:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2609e1)
    #2 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #3 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #4 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #9 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b440012b698 by thread T64:
    #0 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:375 (libCppEditor.so+0x264614)
    #1 reduceResult /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libCppEditor.so+0x264614)
    #2 reduceResults /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:137 (libCppEditor.so+0x264614)
    #3 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:174 (libCppEditor.so+0x264efc)
    #4 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #5 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #6 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #7 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b440012b6a0 by thread T24:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2609e1)
    #2 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #3 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #4 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #9 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 4 at 0x7b440012b6a0 by thread T55:
    #0 canReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:116 (libCppEditor.so+0x264d4a)
    #1 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:153 (libCppEditor.so+0x264d4a)
    #2 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #3 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'Thread (pooled)' (tid=1301950, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b440012b6b8 by thread T24:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2609e1)
    #2 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #3 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #4 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #9 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 4 at 0x7b440012b6b8 by thread T52:
    #0 virtual thunk to QtConcurrent::MappedReducedKernel<QList<CPlusPlus::Usage>, QList<Utils::FilePath>::const_iterator, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI, QtConcurrent::ReduceKernel<CppEditor::Internal::(anonymous namespace)::UpdateUI, QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage> > >::shouldThrottleThread() <null> (libCppEditor.so+0x259fa6)
    #1 virtual thunk to QtConcurrent::MappedReducedKernel<QList<CPlusPlus::Usage>, QList<Utils::FilePath>::const_iterator, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI, QtConcurrent::ReduceKernel<CppEditor::Internal::(anonymous namespace)::UpdateUI, QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage> > >::shouldStartThread() <null> (libCppEditor.so+0x25ab0a)
    #2 QtConcurrent::ThreadEngineBase::startThreads() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:269 (libQt5Concurrent.so.5+0x387a)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1301947, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010918 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000010918 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:412 (libCore.so+0x447cc4)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 Core::FutureProgress* Core::ProgressManager::addTask<CPlusPlus::Usage>(QFuture<CPlusPlus::Usage> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.h:58 (libCppEditor.so+0x266240)
    #7 CppEditor::Internal::CppFindReferences::findAll_helper(Core::SearchResult*, CPlusPlus::Symbol*, CPlusPlus::LookupContext const&, bool) ../../src/plugins/cppeditor/cppfindreferences.cpp:522 (libCppEditor.so+0x266240)
    #8 CppEditor::Internal::CppFindReferences::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&, QString const&, bool) ../../src/plugins/cppeditor/cppfindreferences.cpp:489 (libCppEditor.so+0x267f11)
    #9 CppEditor::Internal::CppFindReferences::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&) ../../src/plugins/cppeditor/cppfindreferences.cpp:451 (libCppEditor.so+0x26811b)
    #10 CppEditor::CppModelManager::findUsages(CPlusPlus::Symbol*, CPlusPlus::LookupContext const&) ../../src/plugins/cppeditor/cppmodelmanager.cpp:858 (libCppEditor.so+0x2d87b2)
    #11 CppEditor::Internal::BuiltinModelManagerSupport::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&) const ../../src/plugins/cppeditor/cppbuiltinmodelmanagersupport.cpp:217 (libCppEditor.so+0x1607bf)
    #12 CppEditor::CppModelManager::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:329 (libCppEditor.so+0x2d7d12)
    #13 ClangCodeModel::Internal::ClangModelManagerSupport::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&) const ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:248 (libClangCodeModel.so+0x10e720)
    #14 CppEditor::CppModelManager::findUsages(CppEditor::CursorInEditor const&, std::function<void (std::vector<CppEditor::Usage, std::allocator<CppEditor::Usage> > const&)>&&, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:329 (libCppEditor.so+0x2d7d12)
    #15 CppEditor::CppEditorWidget::findUsages(QTextCursor) ../../src/plugins/cppeditor/cppeditorwidget.cpp:803 (libCppEditor.so+0x22e09e)
    #16 CppEditor::CppEditorWidget::findUsages() ../../src/plugins/cppeditor/cppeditorwidget.cpp:789 (libCppEditor.so+0x22e390)
    #17 operator() ../../src/plugins/cppeditor/cppeditorplugin.cpp:373 (libCppEditor.so+0x21ca6b)
    #18 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x21ca6b)
    #19 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x21ca6b)
    #20 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x21ca6b)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b440011a130 by thread T57:
    #0 canReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:117 (libCppEditor.so+0x264d69)
    #1 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:153 (libCppEditor.so+0x264d69)
    #2 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #3 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #4 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #5 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Previous write of size 4 at 0x7b440011a130 by thread T64:
    #0 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:180 (libCppEditor.so+0x2656af)
    #1 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #2 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 264 at 0x7b440011a080 allocated by thread T24:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 startMappedReduced<QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libCppEditor.so+0x262883)
    #2 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262883)
    #3 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262883)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T57 'Thread (pooled)' (tid=1301952, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:117 in canReduce
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b440011a140 by thread T24:
    #0 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:977 (libCppEditor.so+0x2719c0)
    #1 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libCppEditor.so+0x2647e7)
    #2 QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::begin() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:555 (libCppEditor.so+0x2647e7)
    #3 reduceResults /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:135 (libCppEditor.so+0x2647e7)
    #4 virtual thunk to QtConcurrent::SequenceHolder2<QList<Utils::FilePath>, QtConcurrent::MappedReducedKernel<QList<CPlusPlus::Usage>, QList<Utils::FilePath>::const_iterator, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI, QtConcurrent::ReduceKernel<CppEditor::Internal::(anonymous namespace)::UpdateUI, QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage> > >, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI>::finish() <null> (libCppEditor.so+0x264c4c)
    #5 QtConcurrent::ThreadEngineBase::startBlocking() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:208 (libQt5Concurrent.so.5+0x3975)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #9 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #10 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b440011a140 by thread T64:
    #0 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:169 (libCppEditor.so+0x264df3)
    #1 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #2 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #3 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #4 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 264 at 0x7b440011a080 allocated by thread T24:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 startMappedReduced<QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libCppEditor.so+0x262883)
    #2 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262883)
    #3 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262883)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:977 in QMap<int, QtConcurrent::IntermediateResults<QList<CPlusPlus::Usage> > >::detach_helper()
==================
==================
WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=1301465)
  Write of size 8 at 0x7b440011a150 by thread T24:
    #0 ~MappedReducedKernel /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 (libCppEditor.so+0x260918)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x260918)
    #2 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x260918)
    #3 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #4 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #5 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #9 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #10 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b440011a150 by thread T57:
    #0 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:267 (libCppEditor.so+0x2722e0)
    #1 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #2 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Location is heap block of size 264 at 0x7b440011a080 allocated by thread T24:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 startMappedReduced<QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:250 (libCppEditor.so+0x262883)
    #2 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262883)
    #3 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262883)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #8 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #9 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T57 'Thread (pooled)' (tid=1301952, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:92 in ~MappedReducedKernel
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b440011a118 by thread T24:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~SequenceHolder2 /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:225 (libCppEditor.so+0x2609e1)
    #2 QtConcurrent::ThreadEngineStarter<QList<CPlusPlus::Usage> >::startBlocking() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentthreadengine.h:240 (libCppEditor.so+0x262b46)
    #3 blockingMappedReduced<QList<CPlusPlus::Usage>, QList<Utils::FilePath>, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI> /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmap.h:168 (libCppEditor.so+0x262b46)
    #4 find_helper ../../src/plugins/cppeditor/cppfindreferences.cpp:443 (libCppEditor.so+0x262b46)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #6 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #7 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #8 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #9 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b440011a118 by thread T64:
    #0 operator() ../../src/plugins/cppeditor/cppfindreferences.cpp:375 (libCppEditor.so+0x25a8cc)
    #1 reduceResult /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:127 (libCppEditor.so+0x25a8cc)
    #2 runReduce /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentreducekernel.h:165 (libCppEditor.so+0x264da9)
    #3 runIterations /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentmapkernel.h:135 (libCppEditor.so+0x26584c)
    #4 QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction() /usr/local/Qt-5.15.2/include/QtConcurrent/qtconcurrentiteratekernel.h:255 (libCppEditor.so+0x2724e0)
    #5 virtual thunk to QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction() <null> (libCppEditor.so+0x273023)
    #6 QtConcurrent::ThreadEngineBase::run() /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:302 (libQt5Concurrent.so.5+0x3a8d)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T64 'Thread (pooled)' (tid=1301959, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000109d8 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #10 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:216 (libCppEditor.so+0x118294)
    #11 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #12 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #16 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #17 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc0000109d8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::ActionContainerPrivate::*)()>::call(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x1270f7)
    #5 void QtPrivate::FunctionPointer<void (Core::Internal::ActionContainerPrivate::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x1270f7)
    #6 QtPrivate::QSlotObject<void (Core::Internal::ActionContainerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x1270f7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::Internal::Action::setActive(bool) ../../src/plugins/coreplugin/actionmanager/command.cpp:422 (libCore.so+0x12e572)
    #10 Core::Internal::Action::updateActiveState() ../../src/plugins/coreplugin/actionmanager/command.cpp:365 (libCore.so+0x12e572)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::Action::*)()>::call(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x131d77)
    #12 void QtPrivate::FunctionPointer<void (Core::Internal::Action::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x131d77)
    #13 QtPrivate::QSlotObject<void (Core::Internal::Action::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x131d77)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::ProxyAction::setAction(QAction*) ../../src/libs/utils/proxyaction.cpp:46 (libUtils.so.7+0x304a12)
    #17 Core::Internal::Action::setCurrentContext(Core::Context const&) ../../src/plugins/coreplugin/actionmanager/command.cpp:359 (libCore.so+0x1302bf)
    #18 Core::Internal::ActionManagerPrivate::setContext(Core::Context const&) ../../src/plugins/coreplugin/actionmanager/actionmanager.cpp:424 (libCore.so+0x1296e4)
    #19 Core::ActionManager::setContext(Core::Context const&) ../../src/plugins/coreplugin/actionmanager/actionmanager.cpp:398 (libCore.so+0x12975c)
    #20 Core::Internal::MainWindow::updateContext() ../../src/plugins/coreplugin/mainwindow.cpp:1253 (libCore.so+0x3d23a9)
    #21 Core::Internal::MainWindow::updateContextObject(QList<Core::IContext*> const&) ../../src/plugins/coreplugin/mainwindow.cpp:1091 (libCore.so+0x3d2511)
    #22 Core::Internal::MainWindow::updateFocusWidget(QWidget*, QWidget*) ../../src/plugins/coreplugin/mainwindow.cpp:1084 (libCore.so+0x3d2bdb)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QWidget*, QWidget*>, void, void (Core::Internal::MainWindow::*)(QWidget*, QWidget*)>::call(void (Core::Internal::MainWindow::*)(QWidget*, QWidget*), Core::Internal::MainWindow*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x3d5ef8)
    #24 void QtPrivate::FunctionPointer<void (Core::Internal::MainWindow::*)(QWidget*, QWidget*)>::call<QtPrivate::List<QWidget*, QWidget*>, void>(void (Core::Internal::MainWindow::*)(QWidget*, QWidget*), Core::Internal::MainWindow*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x3d5ef8)
    #25 QtPrivate::QSlotObject<void (Core::Internal::MainWindow::*)(QWidget*, QWidget*), QtPrivate::List<QWidget*, QWidget*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x3d5ef8)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 Core::Internal::EditorManagerPrivate::placeEditor(Core::Internal::EditorView*, Core::IEditor*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1541 (libCore.so+0x1efde0)
    #29 Core::Internal::EditorManagerPrivate::activateEditor(Core::Internal::EditorView*, Core::IEditor*, QFlags<Core::EditorManager::OpenEditorFlag>) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1566 (libCore.so+0x1fea03)
    #30 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:945 (libCore.so+0x20547a)
    #31 Core::Internal::EditorManagerPrivate::openEditorAt(Core::Internal::EditorView*, Utils::Link const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:961 (libCore.so+0x2059cb)
    #32 Core::EditorManager::openEditorAt(Utils::Link const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3152 (libCore.so+0x205aef)
    #33 TextEditor::TextEditorWidget::openLink(Utils::Link const&, bool) ../../src/plugins/texteditor/texteditor.cpp:6110 (libTextEditor.so+0x26523a)
    #34 operator() ../../src/plugins/texteditor/texteditor.cpp:3318 (libTextEditor.so+0x2653d1)
    #35 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libTextEditor.so+0x2653d1)
    #36 std::function<void (Utils::Link const&)>::operator()(Utils::Link const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x23b4fb)
    #37 operator() ../../src/plugins/cppeditor/cppeditorwidget.cpp:1061 (libCppEditor.so+0x232351)
    #38 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x232351)
    #39 std::function<void (Utils::Link const&)>::operator()(Utils::Link const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x23b4fb)
    #40 CppEditor::FollowSymbolUnderCursor::findLink(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, CPlusPlus::Snapshot const&, QSharedPointer<CPlusPlus::Document> const&, CppEditor::SymbolFinder*, bool) ../../src/plugins/cppeditor/cppfollowsymbolundercursor.cpp:785 (libCppEditor.so+0x27e3af)
    #41 CppEditor::Internal::BuiltinModelManagerSupport::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool) ../../src/plugins/cppeditor/cppbuiltinmodelmanagersupport.cpp:147 (libCppEditor.so+0x15f54d)
    #42 CppEditor::CppModelManager::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1639 (libCppEditor.so+0x2d99f4)
    #43 ClangCodeModel::Internal::ClangModelManagerSupport::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:189 (libClangCodeModel.so+0x10d7d2)
    #44 CppEditor::CppModelManager::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1639 (libCppEditor.so+0x2d99f4)
    #45 CppEditor::CppEditorWidget::findLinkAt(QTextCursor const&, std::function<void (Utils::Link const&)>&&, bool, bool) ../../src/plugins/cppeditor/cppeditorwidget.cpp:1063 (libCppEditor.so+0x232026)
    #46 TextEditor::Internal::TextEditorWidgetPrivate::openLinkUnderCursor(bool) ../../src/plugins/texteditor/texteditor.cpp:3315 (libTextEditor.so+0x25d143)
    #47 TextEditor::TextEditorWidget::openLinkUnderCursor() ../../src/plugins/texteditor/texteditor.cpp:2177 (libTextEditor.so+0x25d247)
    #48 operator() ../../src/plugins/texteditor/texteditoractionhandler.cpp:235 (libTextEditor.so+0x2a39e6)
    #49 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libTextEditor.so+0x2a39e6)
    #50 std::function<void (TextEditor::TextEditorWidget*)>::operator()(TextEditor::TextEditorWidget*) const /usr/include/c++/9/bits/std_function.h:688 (libTextEditor.so+0x2afecd)
    #51 TextEditor::Internal::TextEditorActionHandlerPrivate::registerAction(Utils::Id, std::function<void (TextEditor::TextEditorWidget*)>, bool, QString const&, QKeySequence const&, Utils::Id, Core::ActionContainer*)::{lambda(bool)#1}::operator()(bool) const ../../src/plugins/texteditor/texteditoractionhandler.cpp:87 (libTextEditor.so+0x2afecd)
    #52 std::_Function_handler<void (bool), TextEditor::Internal::TextEditorActionHandlerPrivate::registerAction(Utils::Id, std::function<void (TextEditor::TextEditorWidget*)>, bool, QString const&, QKeySequence const&, Utils::Id, Core::ActionContainer*)::{lambda(bool)#1}>::_M_invoke(std::_Any_data const&, bool&&) /usr/include/c++/9/bits/std_function.h:300 (libTextEditor.so+0x2afecd)
    #53 std::function<void (bool)>::operator()(bool) const /usr/include/c++/9/bits/std_function.h:688 (libTextEditor.so+0x2b0139)
    #54 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, std::function<void (bool)> >::call(std::function<void (bool)>&, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libTextEditor.so+0x2b0139)
    #55 void QtPrivate::Functor<std::function<void (bool)>, 1>::call<QtPrivate::List<bool>, void>(std::function<void (bool)>&, void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libTextEditor.so+0x2b0139)
    #56 QtPrivate::QFunctorSlotObject<std::function<void (bool)>, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libTextEditor.so+0x2b0139)
    #57 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #58 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #59 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #60 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #61 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010a50 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::ActionContainerPrivate::*)()>::call(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x1270f7)
    #5 void QtPrivate::FunctionPointer<void (Core::Internal::ActionContainerPrivate::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x1270f7)
    #6 QtPrivate::QSlotObject<void (Core::Internal::ActionContainerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x1270f7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::Internal::Action::setActive(bool) ../../src/plugins/coreplugin/actionmanager/command.cpp:422 (libCore.so+0x12e572)
    #10 Core::Internal::Action::updateActiveState() ../../src/plugins/coreplugin/actionmanager/command.cpp:365 (libCore.so+0x12e572)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::Action::*)()>::call(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x131d77)
    #12 void QtPrivate::FunctionPointer<void (Core::Internal::Action::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x131d77)
    #13 QtPrivate::QSlotObject<void (Core::Internal::Action::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x131d77)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::ProxyAction::actionChanged() ../../src/libs/utils/proxyaction.cpp:104 (libUtils.so.7+0x304aa9)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::ProxyAction::*)()>::call(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x304c17)
    #18 void QtPrivate::FunctionPointer<void (Utils::ProxyAction::*)()>::call<QtPrivate::List<>, void>(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x304c17)
    #19 QtPrivate::QSlotObject<void (Utils::ProxyAction::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x304c17)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 Core::Internal::FindToolBar::adaptToCandidate() ../../src/plugins/coreplugin/find/findtoolbar.cpp:396 (libCore.so+0x2869c2)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::FindToolBar::*)()>::call(void (Core::Internal::FindToolBar::*)(), Core::Internal::FindToolBar*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x28f9f7)
    #24 void QtPrivate::FunctionPointer<void (Core::Internal::FindToolBar::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::FindToolBar::*)(), Core::Internal::FindToolBar*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x28f9f7)
    #25 QtPrivate::QSlotObject<void (Core::Internal::FindToolBar::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x28f9f7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 Core::Internal::CurrentDocumentFind::updateCandidateFindFilter(QWidget*, QWidget*) ../../src/plugins/coreplugin/find/currentdocumentfind.cpp:195 (libCore.so+0x27802f)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QWidget*, QWidget*>, void, void (Core::Internal::CurrentDocumentFind::*)(QWidget*, QWidget*)>::call(void (Core::Internal::CurrentDocumentFind::*)(QWidget*, QWidget*), Core::Internal::CurrentDocumentFind*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x278938)
    #30 void QtPrivate::FunctionPointer<void (Core::Internal::CurrentDocumentFind::*)(QWidget*, QWidget*)>::call<QtPrivate::List<QWidget*, QWidget*>, void>(void (Core::Internal::CurrentDocumentFind::*)(QWidget*, QWidget*), Core::Internal::CurrentDocumentFind*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x278938)
    #31 QtPrivate::QSlotObject<void (Core::Internal::CurrentDocumentFind::*)(QWidget*, QWidget*), QtPrivate::List<QWidget*, QWidget*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x278938)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #33 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #34 Core::Internal::EditorManagerPrivate::placeEditor(Core::Internal::EditorView*, Core::IEditor*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1541 (libCore.so+0x1efde0)
    #35 Core::Internal::EditorManagerPrivate::activateEditor(Core::Internal::EditorView*, Core::IEditor*, QFlags<Core::EditorManager::OpenEditorFlag>) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1566 (libCore.so+0x1fea03)
    #36 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:945 (libCore.so+0x20547a)
    #37 Core::Internal::EditorManagerPrivate::openEditorAt(Core::Internal::EditorView*, Utils::Link const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:961 (libCore.so+0x2059cb)
    #38 Core::EditorManager::openEditorAt(Utils::Link const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3152 (libCore.so+0x205aef)
    #39 TextEditor::TextEditorWidget::openLink(Utils::Link const&, bool) ../../src/plugins/texteditor/texteditor.cpp:6110 (libTextEditor.so+0x26523a)
    #40 operator() ../../src/plugins/texteditor/texteditor.cpp:3318 (libTextEditor.so+0x2653d1)
    #41 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libTextEditor.so+0x2653d1)
    #42 std::function<void (Utils::Link const&)>::operator()(Utils::Link const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x23b4fb)
    #43 operator() ../../src/plugins/cppeditor/cppeditorwidget.cpp:1061 (libCppEditor.so+0x232351)
    #44 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x232351)
    #45 std::function<void (Utils::Link const&)>::operator()(Utils::Link const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x23b4fb)
    #46 CppEditor::FollowSymbolUnderCursor::findLink(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, CPlusPlus::Snapshot const&, QSharedPointer<CPlusPlus::Document> const&, CppEditor::SymbolFinder*, bool) ../../src/plugins/cppeditor/cppfollowsymbolundercursor.cpp:785 (libCppEditor.so+0x27e3af)
    #47 CppEditor::Internal::BuiltinModelManagerSupport::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool) ../../src/plugins/cppeditor/cppbuiltinmodelmanagersupport.cpp:147 (libCppEditor.so+0x15f54d)
    #48 CppEditor::CppModelManager::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1639 (libCppEditor.so+0x2d99f4)
    #49 ClangCodeModel::Internal::ClangModelManagerSupport::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:189 (libClangCodeModel.so+0x10d7d2)
    #50 CppEditor::CppModelManager::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1639 (libCppEditor.so+0x2d99f4)
    #51 CppEditor::CppEditorWidget::findLinkAt(QTextCursor const&, std::function<void (Utils::Link const&)>&&, bool, bool) ../../src/plugins/cppeditor/cppeditorwidget.cpp:1063 (libCppEditor.so+0x232026)
    #52 TextEditor::Internal::TextEditorWidgetPrivate::openLinkUnderCursor(bool) ../../src/plugins/texteditor/texteditor.cpp:3315 (libTextEditor.so+0x25d143)
    #53 TextEditor::TextEditorWidget::openLinkUnderCursor() ../../src/plugins/texteditor/texteditor.cpp:2177 (libTextEditor.so+0x25d247)
    #54 operator() ../../src/plugins/texteditor/texteditoractionhandler.cpp:235 (libTextEditor.so+0x2a39e6)
    #55 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libTextEditor.so+0x2a39e6)
    #56 std::function<void (TextEditor::TextEditorWidget*)>::operator()(TextEditor::TextEditorWidget*) const /usr/include/c++/9/bits/std_function.h:688 (libTextEditor.so+0x2afecd)
    #57 TextEditor::Internal::TextEditorActionHandlerPrivate::registerAction(Utils::Id, std::function<void (TextEditor::TextEditorWidget*)>, bool, QString const&, QKeySequence const&, Utils::Id, Core::ActionContainer*)::{lambda(bool)#1}::operator()(bool) const ../../src/plugins/texteditor/texteditoractionhandler.cpp:87 (libTextEditor.so+0x2afecd)
    #58 std::_Function_handler<void (bool), TextEditor::Internal::TextEditorActionHandlerPrivate::registerAction(Utils::Id, std::function<void (TextEditor::TextEditorWidget*)>, bool, QString const&, QKeySequence const&, Utils::Id, Core::ActionContainer*)::{lambda(bool)#1}>::_M_invoke(std::_Any_data const&, bool&&) /usr/include/c++/9/bits/std_function.h:300 (libTextEditor.so+0x2afecd)
    #59 std::function<void (bool)>::operator()(bool) const /usr/include/c++/9/bits/std_function.h:688 (libTextEditor.so+0x2b0139)
    #60 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, std::function<void (bool)> >::call(std::function<void (bool)>&, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libTextEditor.so+0x2b0139)
    #61 void QtPrivate::Functor<std::function<void (bool)>, 1>::call<QtPrivate::List<bool>, void>(std::function<void (bool)>&, void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libTextEditor.so+0x2b0139)
    #62 QtPrivate::QFunctorSlotObject<std::function<void (bool)>, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libTextEditor.so+0x2b0139)
    #63 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #64 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #65 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #66 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #67 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000010a50 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #10 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:216 (libCppEditor.so+0x118294)
    #11 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #12 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #16 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #17 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010a68 by thread T24:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void, void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQmlJSTools.so+0x5ab44)
    #5 void QtPrivate::FunctionPointer<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call<QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQmlJSTools.so+0x5ab44)
    #6 QtPrivate::QSlotObject<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQmlJSTools.so+0x5ab44)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #10 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #15 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:216 (libCppEditor.so+0x118294)
    #16 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #17 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #21 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #22 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #23 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000010a68 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::ActionContainerPrivate::*)()>::call(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x1270f7)
    #5 void QtPrivate::FunctionPointer<void (Core::Internal::ActionContainerPrivate::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x1270f7)
    #6 QtPrivate::QSlotObject<void (Core::Internal::ActionContainerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x1270f7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::Internal::Action::setActive(bool) ../../src/plugins/coreplugin/actionmanager/command.cpp:422 (libCore.so+0x12e572)
    #10 Core::Internal::Action::updateActiveState() ../../src/plugins/coreplugin/actionmanager/command.cpp:365 (libCore.so+0x12e572)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::Action::*)()>::call(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x131d77)
    #12 void QtPrivate::FunctionPointer<void (Core::Internal::Action::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x131d77)
    #13 QtPrivate::QSlotObject<void (Core::Internal::Action::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x131d77)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::ProxyAction::actionChanged() ../../src/libs/utils/proxyaction.cpp:104 (libUtils.so.7+0x304aa9)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::ProxyAction::*)()>::call(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x304c17)
    #18 void QtPrivate::FunctionPointer<void (Utils::ProxyAction::*)()>::call<QtPrivate::List<>, void>(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x304c17)
    #19 QtPrivate::QSlotObject<void (Utils::ProxyAction::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x304c17)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 Core::Internal::FindToolBar::adaptToCandidate() ../../src/plugins/coreplugin/find/findtoolbar.cpp:396 (libCore.so+0x2869c2)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::FindToolBar::*)()>::call(void (Core::Internal::FindToolBar::*)(), Core::Internal::FindToolBar*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x28f9f7)
    #24 void QtPrivate::FunctionPointer<void (Core::Internal::FindToolBar::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::FindToolBar::*)(), Core::Internal::FindToolBar*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x28f9f7)
    #25 QtPrivate::QSlotObject<void (Core::Internal::FindToolBar::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x28f9f7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 Core::Internal::CurrentDocumentFind::updateCandidateFindFilter(QWidget*, QWidget*) ../../src/plugins/coreplugin/find/currentdocumentfind.cpp:195 (libCore.so+0x27802f)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QWidget*, QWidget*>, void, void (Core::Internal::CurrentDocumentFind::*)(QWidget*, QWidget*)>::call(void (Core::Internal::CurrentDocumentFind::*)(QWidget*, QWidget*), Core::Internal::CurrentDocumentFind*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x278938)
    #30 void QtPrivate::FunctionPointer<void (Core::Internal::CurrentDocumentFind::*)(QWidget*, QWidget*)>::call<QtPrivate::List<QWidget*, QWidget*>, void>(void (Core::Internal::CurrentDocumentFind::*)(QWidget*, QWidget*), Core::Internal::CurrentDocumentFind*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x278938)
    #31 QtPrivate::QSlotObject<void (Core::Internal::CurrentDocumentFind::*)(QWidget*, QWidget*), QtPrivate::List<QWidget*, QWidget*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x278938)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #33 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #34 Core::Internal::EditorManagerPrivate::placeEditor(Core::Internal::EditorView*, Core::IEditor*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1541 (libCore.so+0x1efde0)
    #35 Core::Internal::EditorManagerPrivate::activateEditor(Core::Internal::EditorView*, Core::IEditor*, QFlags<Core::EditorManager::OpenEditorFlag>) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:1566 (libCore.so+0x1fea03)
    #36 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:945 (libCore.so+0x20547a)
    #37 Core::Internal::EditorManagerPrivate::openEditorAt(Core::Internal::EditorView*, Utils::Link const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:961 (libCore.so+0x2059cb)
    #38 Core::EditorManager::openEditorAt(Utils::Link const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3152 (libCore.so+0x205aef)
    #39 TextEditor::TextEditorWidget::openLink(Utils::Link const&, bool) ../../src/plugins/texteditor/texteditor.cpp:6110 (libTextEditor.so+0x26523a)
    #40 operator() ../../src/plugins/texteditor/texteditor.cpp:3318 (libTextEditor.so+0x2653d1)
    #41 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libTextEditor.so+0x2653d1)
    #42 std::function<void (Utils::Link const&)>::operator()(Utils::Link const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x23b4fb)
    #43 operator() ../../src/plugins/cppeditor/cppeditorwidget.cpp:1061 (libCppEditor.so+0x232351)
    #44 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x232351)
    #45 std::function<void (Utils::Link const&)>::operator()(Utils::Link const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x23b4fb)
    #46 CppEditor::FollowSymbolUnderCursor::findLink(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, CPlusPlus::Snapshot const&, QSharedPointer<CPlusPlus::Document> const&, CppEditor::SymbolFinder*, bool) ../../src/plugins/cppeditor/cppfollowsymbolundercursor.cpp:785 (libCppEditor.so+0x27e3af)
    #47 CppEditor::Internal::BuiltinModelManagerSupport::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool) ../../src/plugins/cppeditor/cppbuiltinmodelmanagersupport.cpp:147 (libCppEditor.so+0x15f54d)
    #48 CppEditor::CppModelManager::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1639 (libCppEditor.so+0x2d99f4)
    #49 ClangCodeModel::Internal::ClangModelManagerSupport::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool) ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:189 (libClangCodeModel.so+0x10d7d2)
    #50 CppEditor::CppModelManager::followSymbol(CppEditor::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, bool, bool, CppEditor::CppModelManager::Backend) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1639 (libCppEditor.so+0x2d99f4)
    #51 CppEditor::CppEditorWidget::findLinkAt(QTextCursor const&, std::function<void (Utils::Link const&)>&&, bool, bool) ../../src/plugins/cppeditor/cppeditorwidget.cpp:1063 (libCppEditor.so+0x232026)
    #52 TextEditor::Internal::TextEditorWidgetPrivate::openLinkUnderCursor(bool) ../../src/plugins/texteditor/texteditor.cpp:3315 (libTextEditor.so+0x25d143)
    #53 TextEditor::TextEditorWidget::openLinkUnderCursor() ../../src/plugins/texteditor/texteditor.cpp:2177 (libTextEditor.so+0x25d247)
    #54 operator() ../../src/plugins/texteditor/texteditoractionhandler.cpp:235 (libTextEditor.so+0x2a39e6)
    #55 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libTextEditor.so+0x2a39e6)
    #56 std::function<void (TextEditor::TextEditorWidget*)>::operator()(TextEditor::TextEditorWidget*) const /usr/include/c++/9/bits/std_function.h:688 (libTextEditor.so+0x2afecd)
    #57 TextEditor::Internal::TextEditorActionHandlerPrivate::registerAction(Utils::Id, std::function<void (TextEditor::TextEditorWidget*)>, bool, QString const&, QKeySequence const&, Utils::Id, Core::ActionContainer*)::{lambda(bool)#1}::operator()(bool) const ../../src/plugins/texteditor/texteditoractionhandler.cpp:87 (libTextEditor.so+0x2afecd)
    #58 std::_Function_handler<void (bool), TextEditor::Internal::TextEditorActionHandlerPrivate::registerAction(Utils::Id, std::function<void (TextEditor::TextEditorWidget*)>, bool, QString const&, QKeySequence const&, Utils::Id, Core::ActionContainer*)::{lambda(bool)#1}>::_M_invoke(std::_Any_data const&, bool&&) /usr/include/c++/9/bits/std_function.h:300 (libTextEditor.so+0x2afecd)
    #59 std::function<void (bool)>::operator()(bool) const /usr/include/c++/9/bits/std_function.h:688 (libTextEditor.so+0x2b0139)
    #60 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, std::function<void (bool)> >::call(std::function<void (bool)>&, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libTextEditor.so+0x2b0139)
    #61 void QtPrivate::Functor<std::function<void (bool)>, 1>::call<QtPrivate::List<bool>, void>(std::function<void (bool)>&, void*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libTextEditor.so+0x2b0139)
    #62 QtPrivate::QFunctorSlotObject<std::function<void (bool)>, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libTextEditor.so+0x2b0139)
    #63 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #64 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #65 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #66 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #67 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T24 'Thread (pooled)' (tid=1301845, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void>(QThreadPool*, QThread::Priority, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:457 (libCppEditor.so+0x122d8e)
    #3 QFuture<void> Utils::runAsync<void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&, void, void>(QThreadPool*, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x122d8e)
    #4 CppEditor::BuiltinEditorDocumentProcessor::runImpl(CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentprocessor.cpp:204 (libCppEditor.so+0x122d8e)
    #5 CppEditor::BaseEditorDocumentProcessor::run(bool) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:61 (libCppEditor.so+0x1079c0)
    #6 CppEditor::Internal::CppEditorDocument::processDocument() ../../src/plugins/cppeditor/cppeditordocument.cpp:308 (libCppEditor.so+0x21133d)
    #7 CppEditor::Internal::CppEditorDocument::onFilePathChanged(Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppeditordocument.cpp:282 (libCppEditor.so+0x21291f)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void, void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCppEditor.so+0x215660)
    #9 void QtPrivate::FunctionPointer<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&)>::call<QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>(void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), CppEditor::Internal::CppEditorDocument*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCppEditor.so+0x215660)
    #10 QtPrivate::QSlotObject<void (CppEditor::Internal::CppEditorDocument::*)(Utils::FilePath const&, Utils::FilePath const&), QtPrivate::List<Utils::FilePath const&, Utils::FilePath const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCppEditor.so+0x215660)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Core::IDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/coreplugin/idocument.cpp:705 (libCore.so+0x30fad4)
    #14 TextEditor::TextDocument::setFilePath(Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:709 (libTextEditor.so+0x238398)
    #15 TextEditor::TextDocument::openImpl(QString*, Utils::FilePath const&, Utils::FilePath const&, bool) ../../src/plugins/texteditor/textdocument.cpp:795 (libTextEditor.so+0x238946)
    #16 TextEditor::TextDocument::open(QString*, Utils::FilePath const&, Utils::FilePath const&) ../../src/plugins/texteditor/textdocument.cpp:729 (libTextEditor.so+0x238bf6)
    #17 Core::Internal::EditorManagerPrivate::openEditor(Core::Internal::EditorView*, Utils::FilePath const&, Utils::Id, QFlags<Core::EditorManager::OpenEditorFlag>, bool*) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:868 (libCore.so+0x2049c4)
    #18 Core::Internal::SplitterOrView::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editorview.cpp:964 (libCore.so+0x22183b)
    #19 Core::EditorManager::restoreState(QByteArray const&) ../../src/plugins/coreplugin/editormanager/editormanager.cpp:3641 (libCore.so+0x20a09d)
    #20 ProjectExplorer::SessionManagerPrivate::restoreEditors(Utils::PersistentSettingsReader const&) ../../src/plugins/projectexplorer/session.cpp:964 (libProjectExplorer.so+0x5d51fa)
    #21 ProjectExplorer::SessionManager::loadSession(QString const&, bool) ../../src/plugins/projectexplorer/session.cpp:1121 (libProjectExplorer.so+0x5e0a8a)
    #22 ProjectExplorer::Internal::SessionModel::switchToSession(QString const&) ../../src/plugins/projectexplorer/sessionmodel.cpp:268 (libProjectExplorer.so+0x5ea404)
    #23 ProjectExplorer::Internal::SessionDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) ../../src/plugins/projectexplorer/projectwelcomepage.cpp:428 (libProjectExplorer.so+0x5692e1)
    #24 QAbstractItemViewPrivate::sendDelegateEvent(QModelIndex const&, QEvent*) const itemviews/qabstractitemview.cpp:4415 (libQt5Widgets.so.5+0x43d687)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 2 at 0x7b1c001067a0 by main thread:
    #0 eventFilter ../../src/app/main.cpp:777 (qtcreator+0xfe42)
    #1 QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) kernel/qcoreapplication.cpp:1171 (libQt5Core.so.5+0x2c3802)
    #2 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c001067a0 by thread T22:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 queued_activate kernel/qobject.cpp:3735 (libQt5Core.so.5+0x2fdbe1)

  Location is heap block of size 112 at 0x7b1c00106790 allocated by thread T22:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 queued_activate kernel/qobject.cpp:3735 (libQt5Core.so.5+0x2fdbe1)

  Thread T22 'QThread' (tid=1302299, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot const&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> > const&), QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> >&, void>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot const&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> > const&), QmlJS::ModelManagerInterface*&&, CPlusPlus::Snapshot&&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> >&) ../../src/libs/utils/runextensions.h:457 (libQmlJS.so.7+0x1d361c)
    #3 QFuture<void> Utils::runAsync<void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot const&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> > const&), QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> >&, void, void>(void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot const&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> > const&), QmlJS::ModelManagerInterface*&&, CPlusPlus::Snapshot&&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> >&) ../../src/libs/utils/runextensions.h:531 (libQmlJS.so.7+0x1d361c)
    #4 QmlJS::ModelManagerInterface::startCppQmlTypeUpdate() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1315 (libQmlJS.so.7+0x1d361c)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QmlJS::ModelManagerInterface::*)()>::call(void (QmlJS::ModelManagerInterface::*)(), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQmlJS.so.7+0x1dc2e7)
    #6 void QtPrivate::FunctionPointer<void (QmlJS::ModelManagerInterface::*)()>::call<QtPrivate::List<>, void>(void (QmlJS::ModelManagerInterface::*)(), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQmlJS.so.7+0x1dc2e7)
    #7 QtPrivate::QSlotObject<void (QmlJS::ModelManagerInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQmlJS.so.7+0x1dc2e7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/app/main.cpp:777 in eventFilter
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c00106790 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)
    #2 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c00106790 by thread T22:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 queued_activate kernel/qobject.cpp:3735 (libQt5Core.so.5+0x2fdbe1)

  Thread T22 'QThread' (tid=1302299, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<void> Utils::runAsync<void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot const&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> > const&), QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> >&, void>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot const&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> > const&), QmlJS::ModelManagerInterface*&&, CPlusPlus::Snapshot&&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> >&) ../../src/libs/utils/runextensions.h:457 (libQmlJS.so.7+0x1d361c)
    #3 QFuture<void> Utils::runAsync<void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot const&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> > const&), QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> >&, void, void>(void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface*, CPlusPlus::Snapshot const&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> > const&), QmlJS::ModelManagerInterface*&&, CPlusPlus::Snapshot&&, QHash<QString, QPair<QSharedPointer<CPlusPlus::Document>, bool> >&) ../../src/libs/utils/runextensions.h:531 (libQmlJS.so.7+0x1d361c)
    #4 QmlJS::ModelManagerInterface::startCppQmlTypeUpdate() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1315 (libQmlJS.so.7+0x1d361c)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QmlJS::ModelManagerInterface::*)()>::call(void (QmlJS::ModelManagerInterface::*)(), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQmlJS.so.7+0x1dc2e7)
    #6 void QtPrivate::FunctionPointer<void (QmlJS::ModelManagerInterface::*)()>::call<QtPrivate::List<>, void>(void (QmlJS::ModelManagerInterface::*)(), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQmlJS.so.7+0x1dc2e7)
    #7 QtPrivate::QSlotObject<void (QmlJS::ModelManagerInterface::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQmlJS.so.7+0x1dc2e7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1400424c50 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b1400424c50 by main thread:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 80 at 0x7b1400424c30 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 CMakeProjectManager::Internal::CMakeProcess::run(CMakeProjectManager::Internal::BuildDirParameters const&, QStringList const&) ../../src/plugins/cmakeprojectmanager/cmakeprocess.cpp:149 (libCMakeProjectManager.so+0x11597b)
    #7 CMakeProjectManager::Internal::FileApiReader::startCMakeState(QStringList const&) ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:372 (libCMakeProjectManager.so+0x1b2aa7)
    #8 CMakeProjectManager::Internal::FileApiReader::parse(bool, bool, bool) ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:156 (libCMakeProjectManager.so+0x1b75e0)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::triggerParsing() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:278 (libCMakeProjectManager.so+0x9fe44)
    #10 operator() ../../src/plugins/projectexplorer/buildsystem.cpp:84 (libProjectExplorer.so+0x237b6f)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x237b6f)
    #12 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x237b6f)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x237b6f)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
"No \"RelWithDebInfo\" CMake configuration found. Available configuration: \"Debug\".\nMake sure that CMAKE_BUILD_TYPE variable matches the \"Build type\" field."
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000010078 by thread T8:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000010078 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #5 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::setError(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp:1516 (libCMakeProjectManager.so+0x6cd2e)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingFailed(QString const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:789 (libCMakeProjectManager.so+0xa36c7)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa7514)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa7514)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa7514)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:289 (libCMakeProjectManager.so+0x1b3d79)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3d79)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3d79)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3d79)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3d79)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T8 'Thread (pooled)' (tid=1302653, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::FileApiReader::cmakeFinishedState() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:387 (libCMakeProjectManager.so+0x1b6ad2)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CMakeProjectManager::Internal::FileApiReader::*)()>::call(void (CMakeProjectManager::Internal::FileApiReader::*)(), CMakeProjectManager::Internal::FileApiReader*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0x1baed7)
    #4 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::FileApiReader::*)()>::call<QtPrivate::List<>, void>(void (CMakeProjectManager::Internal::FileApiReader::*)(), CMakeProjectManager::Internal::FileApiReader*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0x1baed7)
    #5 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::FileApiReader::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0x1baed7)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 CMakeProjectManager::Internal::CMakeProcess::handleProcessDone(Utils::ProcessResultData const&) ../../src/plugins/cmakeprojectmanager/cmakeprocess.cpp:191 (libCMakeProjectManager.so+0x113e8c)
    #9 operator() ../../src/plugins/cmakeprojectmanager/cmakeprocess.cpp:124 (libCMakeProjectManager.so+0x116bd7)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x116bd7)
    #11 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x116bd7)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x116bd7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 Utils::Internal::QtcProcessPrivate::emitDone() ../../src/libs/utils/qtcprocess.cpp:1978 (libUtils.so.7+0x31de62)
    #16 Utils::Internal::QtcProcessPrivate::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:1947 (libUtils.so.7+0x31fab3)
    #17 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fdcf)
    #18 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #19 Utils::Internal::QtcProcessPrivate::flush() ../../src/libs/utils/qtcprocess.cpp:658 (libUtils.so.7+0x32caeb)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::QtcProcessPrivate::*)()>::call(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3255f7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::QtcProcessPrivate::*)(), Utils::Internal::QtcProcessPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3255f7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3255f7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #24 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #25 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #32 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #33 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #37 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #38 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #39 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #40 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #41 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #42 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #43 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #44 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b500013b010 by thread T46:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 magazine_cache_trim ../../../glib/gslice.c:679 (libglib-2.0.so.0+0x6fcfe)
    #2 magazine_cache_push_magazine ../../../glib/gslice.c:710 (libglib-2.0.so.0+0x6fcfe)

  Previous write of size 8 at 0x7b500013b010 by thread T31:
    #0 memset ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:795 (libtsan.so.0+0x3790f)
    #1 memset ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:793 (libtsan.so.0+0x3790f)
    #2 memset /usr/include/x86_64-linux-gnu/bits/string_fortified.h:71 (libglib-2.0.so.0+0x70ac2)
    #3 g_slice_alloc0 ../../../glib/gslice.c:1053 (libglib-2.0.so.0+0x70ac2)

  Thread T46 'Thread (pooled)' (tid=1301941, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T31 'QThread' (tid=1302298, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../glib/gslice.c:679 in magazine_cache_trim
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b60001e0860 by thread T59:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0xf6079)
    #3 QListData::remove(int) tools/qlist.cpp:278 (libQt5Core.so.5+0xf6079)

  Previous write of size 8 at 0x7b60001e0860 by thread T42:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0xf5dc0)
    #3 QListData::append(int) tools/qlist.cpp:193 (libQt5Core.so.5+0xf5dc0)

  Location is heap block of size 1024 at 0x7b60001e0800 allocated by thread T41:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T42 'Thread (pooled)' (tid=1301937, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T41 'Thread (pooled)' (tid=1301936, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800428e80 by thread T59:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)

  Previous write of size 8 at 0x7b0800428e80 by thread T46:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)

  Thread T59 'Thread (pooled)' (tid=1301954, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T46 'Thread (pooled)' (tid=1301941, finished) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:170 in QListData::realloc_grow(int)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b60001e0870 by thread T53:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0xf6079)
    #3 QListData::remove(int) tools/qlist.cpp:278 (libQt5Core.so.5+0xf6079)

  Previous write of size 8 at 0x7b60001e0870 by thread T54:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0xf6079)
    #3 QListData::remove(int) tools/qlist.cpp:278 (libQt5Core.so.5+0xf6079)

  Location is heap block of size 1024 at 0x7b60001e0800 allocated by thread T41:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)

  Thread T53 'Thread (pooled)' (tid=1301948, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T54 'Thread (pooled)' (tid=1301949, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T41 'Thread (pooled)' (tid=1301936, running) created by thread T24 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 void Utils::Internal::runAsyncQFutureInterfaceDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(std::integral_constant<bool, true>, QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x26aaa4)
    #3 void Utils::Internal::runAsyncMemberDispatch<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool, void>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x26aaa4)
    #4 void Utils::Internal::runAsyncImpl<CPlusPlus::Usage, void (*)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy, CPlusPlus::LookupContext, CPlusPlus::Symbol*, bool>(QFutureInterface<CPlusPlus::Usage>&, void (*&&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy&&, CPlusPlus::LookupContext&&, CPlusPlus::Symbol*&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x26aaa4)
    #5 void Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x26aaa4)
    #6 Utils::Internal::AsyncJob<CPlusPlus::Usage, void (&)(QFutureInterface<CPlusPlus::Usage>&, CppEditor::WorkingCopy, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*, bool), CppEditor::WorkingCopy const&, CPlusPlus::LookupContext const&, CPlusPlus::Symbol*&, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x26aaa4)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800475b90 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #13 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #14 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #15 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #16 ProjectExplorer::ProjectUpdateInfo::ProjectUpdateInfo(ProjectExplorer::Project*, ProjectExplorer::KitInfo const&, Utils::Environment const&, QVector<ProjectExplorer::RawProjectPart> const&, std::function<QVector<ProjectExplorer::RawProjectPart> ()> const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:207 (libProjectExplorer.so+0x584ca2)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0ef1)
    #18 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #19 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #21 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #22 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #26 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #27 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #28 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #29 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b0800475b90 by thread T12:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T12 'QThread' (tid=1303103, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #10 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #11 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #12 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #13 ProjectExplorer::ProjectUpdateInfo::ProjectUpdateInfo(ProjectExplorer::Project*, ProjectExplorer::KitInfo const&, Utils::Environment const&, QVector<ProjectExplorer::RawProjectPart> const&, std::function<QVector<ProjectExplorer::RawProjectPart> ()> const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:207 (libProjectExplorer.so+0x584ca2)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0ef1)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #18 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #23 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #25 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #26 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50001208c8 by thread T13:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50001208c8 by main thread:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #8 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #9 ProjectExplorer::ProjectUpdateInfo::ProjectUpdateInfo(ProjectExplorer::Project*, ProjectExplorer::KitInfo const&, Utils::Environment const&, QVector<ProjectExplorer::RawProjectPart> const&, std::function<QVector<ProjectExplorer::RawProjectPart> ()> const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:207 (libProjectExplorer.so+0x584ca2)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0ef1)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #14 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #15 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #18 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #19 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #20 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #22 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 472 at 0x7b5000120800 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:142 (libProjectExplorer.so+0x36ce2e)
    #3 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #4 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #5 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #6 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #7 ProjectExplorer::ProjectUpdateInfo::ProjectUpdateInfo(ProjectExplorer::Project*, ProjectExplorer::KitInfo const&, Utils::Environment const&, QVector<ProjectExplorer::RawProjectPart> const&, std::function<QVector<ProjectExplorer::RawProjectPart> ()> const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:207 (libProjectExplorer.so+0x584ca2)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0ef1)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #12 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #17 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #19 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #20 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'QThread' (tid=1303106, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #6 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #7 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #8 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #9 ProjectExplorer::ProjectUpdateInfo::ProjectUpdateInfo(ProjectExplorer::Project*, ProjectExplorer::KitInfo const&, Utils::Environment const&, QVector<ProjectExplorer::RawProjectPart> const&, std::function<QVector<ProjectExplorer::RawProjectPart> ()> const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:207 (libProjectExplorer.so+0x584ca2)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0ef1)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #14 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #15 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #18 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #19 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #20 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #22 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080048ae10 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #6 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #7 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #8 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #9 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #10 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #11 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #12 ProjectExplorer::ProjectUpdateInfo::ProjectUpdateInfo(ProjectExplorer::Project*, ProjectExplorer::KitInfo const&, Utils::Environment const&, QVector<ProjectExplorer::RawProjectPart> const&, std::function<QVector<ProjectExplorer::RawProjectPart> ()> const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:207 (libProjectExplorer.so+0x584ca2)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0ef1)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b080048ae10 by thread T13:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T13 'QThread' (tid=1303106, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #6 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #7 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #8 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #9 ProjectExplorer::ProjectUpdateInfo::ProjectUpdateInfo(ProjectExplorer::Project*, ProjectExplorer::KitInfo const&, Utils::Environment const&, QVector<ProjectExplorer::RawProjectPart> const&, std::function<QVector<ProjectExplorer::RawProjectPart> ()> const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:207 (libProjectExplorer.so+0x584ca2)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0ef1)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #14 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #15 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #18 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #19 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #20 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #22 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004bcfb0 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #13 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #14 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #15 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #16 ProjectExplorer::ProjectUpdateInfo::ProjectUpdateInfo(ProjectExplorer::Project*, ProjectExplorer::KitInfo const&, Utils::Environment const&, QVector<ProjectExplorer::RawProjectPart> const&, std::function<QVector<ProjectExplorer::RawProjectPart> ()> const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:207 (libProjectExplorer.so+0x584ccb)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0ef1)
    #18 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #19 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #21 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #22 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #26 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #27 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #28 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #29 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b08004bcfb0 by thread T14:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T14 'QThread' (tid=1303107, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #10 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #11 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #12 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #13 ProjectExplorer::ProjectUpdateInfo::ProjectUpdateInfo(ProjectExplorer::Project*, ProjectExplorer::KitInfo const&, Utils::Environment const&, QVector<ProjectExplorer::RawProjectPart> const&, std::function<QVector<ProjectExplorer::RawProjectPart> ()> const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:207 (libProjectExplorer.so+0x584ccb)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0ef1)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #18 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #23 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #25 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #26 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #29 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004b92f0 by main thread:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #6 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #7 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #8 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #9 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #10 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #11 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #12 ProjectExplorer::ProjectUpdateInfo::ProjectUpdateInfo(ProjectExplorer::Project*, ProjectExplorer::KitInfo const&, Utils::Environment const&, QVector<ProjectExplorer::RawProjectPart> const&, std::function<QVector<ProjectExplorer::RawProjectPart> ()> const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:207 (libProjectExplorer.so+0x584ccb)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0ef1)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b08004b92f0 by thread T9:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T9 'QThread' (tid=1303110, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccInstallDir ../../src/plugins/projectexplorer/gcctoolchain.cpp:305 (libProjectExplorer.so+0x37882f)
    #6 ProjectExplorer::GccToolChain::detectInstallDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:901 (libProjectExplorer.so+0x37882f)
    #7 ProjectExplorer::GccToolChain::installDir() const ../../src/plugins/projectexplorer/gcctoolchain.cpp:397 (libProjectExplorer.so+0x36026f)
    #8 ProjectExplorer::ToolChainInfo::ToolChainInfo(ProjectExplorer::ToolChain const*, QString const&, Utils::Environment const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:188 (libProjectExplorer.so+0x584167)
    #9 ProjectExplorer::ProjectUpdateInfo::ProjectUpdateInfo(ProjectExplorer::Project*, ProjectExplorer::KitInfo const&, Utils::Environment const&, QVector<ProjectExplorer::RawProjectPart> const&, std::function<QVector<ProjectExplorer::RawProjectPart> ()> const&) ../../src/plugins/projectexplorer/rawprojectpart.cpp:207 (libProjectExplorer.so+0x584ccb)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0ef1)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #14 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #15 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #18 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #19 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #20 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #22 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7bb0000d0000 by thread T6:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27bc64)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27bc64)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27bc64)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27bc64)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x27bc64)
    #6 void std::_Construct<QByteArray, QByteArray const&>(QByteArray*, QByteArray const&) /usr/include/c++/9/bits/stl_construct.h:75 (libUtils.so.7+0x27bc64)
    #7 QByteArray* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:83 (libUtils.so.7+0x27bc64)
    #8 QByteArray* std::uninitialized_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:140 (libUtils.so.7+0x27bc64)
    #9 QByteArray* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, QByteArray>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, std::allocator<QByteArray>&) /usr/include/c++/9/bits/stl_uninitialized.h:307 (libUtils.so.7+0x27bc64)
    #10 QByteArray* std::vector<QByteArray, std::allocator<QByteArray> >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > > >(unsigned long, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >) /usr/include/c++/9/bits/stl_vector.h:1511 (libUtils.so.7+0x27bc64)
    #11 std::vector<QByteArray, std::allocator<QByteArray> >::operator=(std::vector<QByteArray, std::allocator<QByteArray> > const&) /usr/include/c++/9/bits/vector.tcc:226 (libUtils.so.7+0x27bc64)
    #12 Utils::Internal::LauncherSocket::handleRequests() ../../src/libs/utils/launchersocket.cpp:710 (libUtils.so.7+0x2761e2)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7bb0000d0000 by thread T53:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherPacket::serialize() const ../../src/libs/utils/launcherpackets.cpp:40 (libUtils.so.7+0x271c1d)
    #3 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737c5)
    #4 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #5 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #6 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #7 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #8 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #9 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #10 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #11 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 32768 at 0x7bb0000d0000 allocated by thread T53:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherPacket::serialize() const ../../src/libs/utils/launcherpackets.cpp:40 (libUtils.so.7+0x271c1d)
    #3 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737c5)
    #4 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #5 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #6 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #7 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #8 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #9 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #10 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #11 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T53 'Thread (pooled)' (tid=1303130, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba000004350 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba000004350 by thread T27:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 53 created by thread T27 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T27 'QThread' (tid=1303118, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08005038b0 by thread T32:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #11 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #12 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #13 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #14 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #15 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b08005038b0 by thread T35:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T32 'Thread (pooled)' (tid=1303112, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'QThread' (tid=1303115, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b200004cee8 by thread T39:
    #0 void std::vector<QByteArray, std::allocator<QByteArray> >::_M_realloc_insert<QByteArray const&>(__gnu_cxx::__normal_iterator<QByteArray*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray const&) /usr/include/c++/9/bits/vector.tcc:504 (libUtils.so.7+0x27c508)
    #1 std::vector<QByteArray, std::allocator<QByteArray> >::push_back(QByteArray const&) /usr/include/c++/9/bits/stl_vector.h:1195 (libUtils.so.7+0x2769bd)
    #2 operator() ../../src/libs/utils/launchersocket.cpp:562 (libUtils.so.7+0x2769bd)
    #3 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:566 (libUtils.so.7+0x2769bd)
    #4 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #5 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #6 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #7 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #8 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #9 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #11 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #12 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #13 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #14 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #15 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #16 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #17 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #18 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b200004cee8 by thread T43:
    #0 std::vector<QByteArray, std::allocator<QByteArray> >::push_back(QByteArray const&) /usr/include/c++/9/bits/stl_vector.h:1186 (libUtils.so.7+0x27689a)
    #1 operator() ../../src/libs/utils/launchersocket.cpp:562 (libUtils.so.7+0x27689a)
    #2 Utils::Internal::LauncherSocket::sendData(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:566 (libUtils.so.7+0x27689a)
    #3 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #4 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #5 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #6 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #7 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #8 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #9 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #11 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #12 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #13 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #14 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #16 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #17 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 128 at 0x7b200004ce80 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherInterfacePrivate::LauncherInterfacePrivate() ../../src/libs/utils/launcherinterface.cpp:107 (libUtils.so.7+0x26eab8)
    #2 Utils::LauncherInterface::LauncherInterface() ../../src/libs/utils/launcherinterface.cpp:189 (libUtils.so.7+0x26f996)
    #3 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #4 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #5 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #6 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #7 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #8 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #9 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #10 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #11 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #12 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #13 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #14 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #15 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #16 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #18 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #19 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #20 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T39 'Thread (pooled)' (tid=1303135, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T43 'Thread (pooled)' (tid=1303133, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/vector.tcc:504 in void std::vector<QByteArray, std::allocator<QByteArray> >::_M_realloc_insert<QByteArray const&>(__gnu_cxx::__normal_iterator<QByteArray*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08005343f0 by thread T23:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #11 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #12 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #13 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #14 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #15 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b08005343f0 by thread T27:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T23 'Thread (pooled)' (tid=1303113, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T27 'QThread' (tid=1303118, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b240004afe0 by thread T63:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::rehash(int) tools/qhash.cpp:688 (libQt5Core.so.5+0xf4759)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b240004afe0 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b240004aff0 by thread T63:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::rehash(int) tools/qhash.cpp:688 (libQt5Core.so.5+0xf4759)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b240004aff0 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b50000706c0 by thread T66:
    #0 memset ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:795 (libtsan.so.0+0x3790f)
    #1 memset ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:793 (libtsan.so.0+0x3790f)
    #2 memset /usr/include/x86_64-linux-gnu/bits/string_fortified.h:71 (libglib-2.0.so.0+0x70ac2)
    #3 g_slice_alloc0 ../../../glib/gslice.c:1053 (libglib-2.0.so.0+0x70ac2)

  Previous write of size 8 at 0x7b50000706c0 by thread T35:
    #0 memset ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:795 (libtsan.so.0+0x3790f)
    #1 memset ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:793 (libtsan.so.0+0x3790f)
    #2 memset /usr/include/x86_64-linux-gnu/bits/string_fortified.h:71 (libglib-2.0.so.0+0x70ac2)
    #3 g_slice_alloc0 ../../../glib/gslice.c:1053 (libglib-2.0.so.0+0x70ac2)

  Location is heap block of size 496 at 0x7b5000070600 allocated by thread T7:
    #0 posix_memalign ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:835 (libtsan.so.0+0x3046d)
    #1 allocator_memalign ../../../glib/gslice.c:1412 (libglib-2.0.so.0+0x6f936)
    #2 allocator_add_slab ../../../glib/gslice.c:1284 (libglib-2.0.so.0+0x6f936)
    #3 slab_allocator_alloc_chunk ../../../glib/gslice.c:1330 (libglib-2.0.so.0+0x6f936)

  Thread T66 (tid=1303158, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T35 'QThread' (tid=1303115, finished) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T7 'Thread (pooled)' (tid=1303123, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:71 in memset
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba000004360 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba000004360 by thread T22:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 54 created by thread T22 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1303120, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b240004aff8 by thread T63:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::rehash(int) tools/qhash.cpp:688 (libQt5Core.so.5+0xf4759)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b240004aff8 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44003e9958 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b44003e9958 by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b44003e9900 allocated by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44003e99b8 by thread T38:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::contains(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:920 (libUtils.so.7+0x276b60)
    #3 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:574 (libUtils.so.7+0x276b60)
    #4 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #5 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #6 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #7 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #8 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #9 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #11 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #12 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #13 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b44003e99b8 by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b44003e9900 allocated by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T38 'Thread (pooled)' (tid=1303157, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba000004380 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba000004380 by thread T28:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 56 created by thread T28 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T28 'QThread' (tid=1303121, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44003e9968 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b44003e9968 by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b44003e9900 allocated by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b14003e1770 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b14003e1770 by thread T27:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b14003e1750 allocated by thread T23:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T27 'QThread' (tid=1303118, finished) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T23 'Thread (pooled)' (tid=1303113, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba0000044c0 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:480 (libUtils.so.7+0x27812f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba0000044c0 by thread T21:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 76 created by thread T21 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T21 'QThread' (tid=1303162, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44003e9940 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b44003e9940 by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b44003e9900 allocated by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50002906c8 by thread T21:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50002906c8 by thread T23:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #6 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #7 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #9 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 472 at 0x7b5000290600 allocated by thread T23:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:414 (libProjectExplorer.so+0x349e50)
    #3 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #4 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #6 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T21 'QThread' (tid=1303162, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T23 'Thread (pooled)' (tid=1303113, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba0000043b0 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba0000043b0 by thread T46:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 59 created by thread T46 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T46 'QThread' (tid=1303125, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004c9390 by thread T23:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b08004c9390 by thread T21:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T23 'Thread (pooled)' (tid=1303113, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T21 'QThread' (tid=1303162, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44003e9948 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b44003e9948 by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b44003e9900 allocated by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba0000043d0 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba0000043d0 by thread T54:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 61 created by thread T54 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T54 'QThread' (tid=1303129, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000016318 by thread T23:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000016318 by main thread:
    [failed to restore the stack]

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T23 'Thread (pooled)' (tid=1303113, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44003e9930 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b44003e9930 by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b44003e9900 allocated by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba0000043f0 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba0000043f0 by thread T34:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 63 created by thread T34 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T34 'QThread' (tid=1303132, running) created by thread T7 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44003e9938 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b44003e9938 by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b44003e9900 allocated by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba000004440 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba000004440 by thread T20:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 68 created by thread T20 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T20 'QThread' (tid=1303134, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44003e9960 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b44003e9960 by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b44003e9900 allocated by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b14003ddf30 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b14003ddf30 by thread T35:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b14003ddf10 allocated by thread T32:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T35 'QThread' (tid=1303115, finished) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T32 'Thread (pooled)' (tid=1303112, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44003e9920 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b44003e9920 by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b44003e9900 allocated by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba000004430 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba000004430 by thread T41:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 67 created by thread T41 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T41 'QThread' (tid=1303136, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000163a8 by thread T32:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc0000163a8 by thread T23:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T32 'Thread (pooled)' (tid=1303112, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T23 'Thread (pooled)' (tid=1303113, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44003e9950 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b44003e9950 by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b44003e9900 allocated by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b14003e3fc0 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b14003e3fc0 by thread T22:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b14003e3fa0 allocated by thread T33:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T22 'QThread' (tid=1303120, finished) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T33 'Thread (pooled)' (tid=1303114, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b14003e9380 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b14003e9380 by thread T46:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b14003e9360 allocated by thread T26:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T46 'QThread' (tid=1303125, finished) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b14003e68b0 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b14003e68b0 by thread T28:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b14003e6890 allocated by thread T36:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T28 'QThread' (tid=1303121, finished) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T36 'Thread (pooled)' (tid=1303116, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba0000044e0 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba0000044e0 by thread T40:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 78 created by thread T40 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T40 'QThread' (tid=1303166, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b14003dfe70 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b14003dfe70 by thread T34:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b14003dfe50 allocated by thread T7:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T34 'QThread' (tid=1303132, finished) created by thread T7 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T7 'Thread (pooled)' (tid=1303123, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b14003f1ee0 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b14003f1ee0 by thread T20:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b14003f1ec0 allocated by thread T25:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T20 'QThread' (tid=1303134, finished) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b14003ebcc0 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #29 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #30 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #31 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #32 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b14003ebcc0 by thread T54:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b14003ebca0 allocated by thread T31:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T54 'QThread' (tid=1303129, finished) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T31 'Thread (pooled)' (tid=1303119, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b14003f4cd0 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #31 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #32 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #33 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #34 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b14003f4cd0 by thread T41:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b14003f4cb0 allocated by thread T56:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T41 'QThread' (tid=1303136, finished) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T56 'Thread (pooled)' (tid=1303126, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7ba000100000 by thread T6:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27bc64)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27bc64)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27bc64)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27bc64)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x27bc64)
    #6 void std::_Construct<QByteArray, QByteArray const&>(QByteArray*, QByteArray const&) /usr/include/c++/9/bits/stl_construct.h:75 (libUtils.so.7+0x27bc64)
    #7 QByteArray* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:83 (libUtils.so.7+0x27bc64)
    #8 QByteArray* std::uninitialized_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*) /usr/include/c++/9/bits/stl_uninitialized.h:140 (libUtils.so.7+0x27bc64)
    #9 QByteArray* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, QByteArray>(__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, QByteArray*, std::allocator<QByteArray>&) /usr/include/c++/9/bits/stl_uninitialized.h:307 (libUtils.so.7+0x27bc64)
    #10 QByteArray* std::vector<QByteArray, std::allocator<QByteArray> >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > > >(unsigned long, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >, __gnu_cxx::__normal_iterator<QByteArray const*, std::vector<QByteArray, std::allocator<QByteArray> > >) /usr/include/c++/9/bits/stl_vector.h:1511 (libUtils.so.7+0x27bc64)
    #11 std::vector<QByteArray, std::allocator<QByteArray> >::operator=(std::vector<QByteArray, std::allocator<QByteArray> > const&) /usr/include/c++/9/bits/vector.tcc:226 (libUtils.so.7+0x27bc64)
    #12 Utils::Internal::LauncherSocket::handleRequests() ../../src/libs/utils/launchersocket.cpp:710 (libUtils.so.7+0x2761e2)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7ba000100000 by thread T31:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 QDataStream& operator<< <QString>(QDataStream&, QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qdatastream.h:431 (libUtils.so.7+0x272349)
    #3 Utils::Internal::StartProcessPacket::doSerialize(QDataStream&) const ../../src/libs/utils/launcherpackets.cpp:63 (libUtils.so.7+0x272349)
    #4 Utils::Internal::LauncherPacket::serialize() const ../../src/libs/utils/launcherpackets.cpp:40 (libUtils.so.7+0x271c1d)
    #5 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737c5)
    #6 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #7 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #8 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #9 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #11 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #12 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #13 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #14 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #15 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #16 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #17 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #18 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 16384 at 0x7ba000100000 allocated by thread T31:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 QDataStream& operator<< <QString>(QDataStream&, QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qdatastream.h:431 (libUtils.so.7+0x272349)
    #3 Utils::Internal::StartProcessPacket::doSerialize(QDataStream&) const ../../src/libs/utils/launcherpackets.cpp:63 (libUtils.so.7+0x272349)
    #4 Utils::Internal::LauncherPacket::serialize() const ../../src/libs/utils/launcherpackets.cpp:40 (libUtils.so.7+0x271c1d)
    #5 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737c5)
    #6 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #7 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #8 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #9 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #10 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #11 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #12 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #13 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #14 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #15 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #16 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #17 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #18 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T31 'Thread (pooled)' (tid=1303119, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b5000313018 by thread T6:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Previous write of size 8 at 0x7b5000313018 by thread T56:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::LauncherInterface::unregisterHandle(unsigned long long) ../../src/libs/utils/launcherinterface.cpp:244 (libUtils.so.7+0x2705c5)
    #3 Utils::Internal::ProcessLauncherImpl::~ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:441 (libUtils.so.7+0x32a0f1)
    #4 Utils::Internal::ProcessLauncherImpl::~ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:443 (libUtils.so.7+0x32a0f1)
    #5 std::unique_ptr<Utils::ProcessInterface, std::default_delete<Utils::ProcessInterface> >::~unique_ptr() /usr/include/c++/9/bits/unique_ptr.h:81 (libUtils.so.7+0x32b092)
    #6 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b092)
    #7 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b092)
    #8 Utils::QtcProcess::~QtcProcess() ../../src/libs/utils/qtcprocess.cpp:985 (libUtils.so.7+0x318b7b)
    #9 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:423 (libProjectExplorer.so+0x34a01f)
    #10 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #11 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #12 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #13 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #14 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 504 at 0x7b5000313000 allocated by thread T56:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::LauncherInterface::unregisterHandle(unsigned long long) ../../src/libs/utils/launcherinterface.cpp:244 (libUtils.so.7+0x2705c5)
    #3 Utils::Internal::ProcessLauncherImpl::~ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:441 (libUtils.so.7+0x32a0f1)
    #4 Utils::Internal::ProcessLauncherImpl::~ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:443 (libUtils.so.7+0x32a0f1)
    #5 std::unique_ptr<Utils::ProcessInterface, std::default_delete<Utils::ProcessInterface> >::~unique_ptr() /usr/include/c++/9/bits/unique_ptr.h:81 (libUtils.so.7+0x32b092)
    #6 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b092)
    #7 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b092)
    #8 Utils::QtcProcess::~QtcProcess() ../../src/libs/utils/qtcprocess.cpp:985 (libUtils.so.7+0x318b7b)
    #9 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:423 (libProjectExplorer.so+0x34a01f)
    #10 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #11 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #12 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #13 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #14 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T56 'Thread (pooled)' (tid=1303126, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800540f30 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #13 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #14 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #16 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #17 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #18 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #19 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #20 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #21 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #22 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #23 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #24 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #25 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #26 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #27 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #28 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #29 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #30 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b0800540f30 by thread T66:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T66 'QThread' (tid=1303158, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b14003f75c0 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b14003f75c0 by thread T60:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b14003f75a0 allocated by thread T59:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T60 'QThread' (tid=1303137, finished) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T59 'Thread (pooled)' (tid=1303128, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b14003ee600 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b14003ee600 by thread T66:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b14003ee5e0 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1751 (libUtils.so.7+0x324c23)
    #7 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #8 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #9 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #10 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #12 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #13 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #14 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #18 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #19 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #20 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #21 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #22 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #23 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #24 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T66 'QThread' (tid=1303158, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c001a1648 by thread T6:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x2cd16d)
    #3 QVector<QPostEvent>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x2cd16d)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c001a1648 by thread T66:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::ProcessInterfaceHandler::handleStarted(long long, long long) ../../src/libs/utils/qtcprocess.cpp:753 (libUtils.so.7+0x32398c)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325268)
    #4 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325268)
    #5 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325268)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::ProcessInterface::*)(long long, long long)>::call(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325b08)
    #9 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325b08)
    #10 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325b08)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Utils::Internal::CallerHandle::handleStarted(Utils::Internal::LauncherStartedSignal const*) ../../src/libs/utils/launchersocket.cpp:181 (libUtils.so.7+0x273c1d)
    #14 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:153 (libUtils.so.7+0x278d5a)
    #15 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #20 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 48 at 0x7b0c001a1630 allocated by thread T66:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::ProcessInterfaceHandler::handleStarted(long long, long long) ../../src/libs/utils/qtcprocess.cpp:753 (libUtils.so.7+0x32398c)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325268)
    #4 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325268)
    #5 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325268)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::ProcessInterface::*)(long long, long long)>::call(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325b08)
    #9 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325b08)
    #10 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325b08)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Utils::Internal::CallerHandle::handleStarted(Utils::Internal::LauncherStartedSignal const*) ../../src/libs/utils/launchersocket.cpp:181 (libUtils.so.7+0x273c1d)
    #14 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:153 (libUtils.so.7+0x278d5a)
    #15 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #20 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T66 'QThread' (tid=1303158, finished) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c001a1630 by thread T6:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QArrayData::deallocate(QArrayData*, unsigned long, unsigned long) tools/qarraydata.cpp:267 (libQt5Core.so.5+0xc61b9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c001a1630 by thread T66:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::ProcessInterfaceHandler::handleStarted(long long, long long) ../../src/libs/utils/qtcprocess.cpp:753 (libUtils.so.7+0x32398c)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325268)
    #4 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325268)
    #5 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325268)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::ProcessInterface::*)(long long, long long)>::call(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325b08)
    #9 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325b08)
    #10 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325b08)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Utils::Internal::CallerHandle::handleStarted(Utils::Internal::LauncherStartedSignal const*) ../../src/libs/utils/launchersocket.cpp:181 (libUtils.so.7+0x273c1d)
    #14 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:153 (libUtils.so.7+0x278d5a)
    #15 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #20 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T66 'QThread' (tid=1303158, finished) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

SUMMARY: ThreadSanitizer: data race tools/qarraydata.cpp:267 in QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c004149a8 by thread T6:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x2cd16d)
    #3 QVector<QPostEvent>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x2cd16d)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:480 (libUtils.so.7+0x27812f)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c004149a8 by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00414990 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c00414990 by thread T6:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QArrayData::deallocate(QArrayData*, unsigned long, unsigned long) tools/qarraydata.cpp:267 (libQt5Core.so.5+0xc61b9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:480 (libUtils.so.7+0x27812f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c00414990 by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qarraydata.cpp:267 in QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080051a4f0 by thread T28:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080051a4f0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080051a4e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303220, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080051a4f8 by thread T28:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080051a4f8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080051a4e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303220, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08005516cc by thread T28:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005516c8 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005516c0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303220, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7ba000004500 by thread T6:
    #0 write ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1137 (libtsan.so.0+0x49904)
    #1 g_wakeup_signal ../../../glib/gwakeup.c:239 (libglib-2.0.so.0+0x9abe9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7ba000004500 by thread T46:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Location is file descriptor 80 created by thread T46 at:
    #0 eventfd ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1581 (libtsan.so.0+0x3484f)
    #1 g_wakeup_new ../../../glib/gwakeup.c:146 (libglib-2.0.so.0+0x9aa0c)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T46 'QThread' (tid=1303213, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../glib/gwakeup.c:239 in g_wakeup_signal
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005516d0 by thread T28:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005516d0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005516c0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303220, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b140047c2c0 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b140047c2c0 by thread T52:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b140047c2a0 allocated by thread T53:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T52 'QThread' (tid=1303139, finished) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T53 'Thread (pooled)' (tid=1303130, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800517368 by thread T28:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800517368 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800517360 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303220, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b140047e1b0 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x277564)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:214 (libUtils.so.7+0x277564)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b140047e1b0 by thread T42:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x278c4c)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x278c4c)
    #2 QList<Utils::Internal::LauncherSignal*>::swap(QList<Utils::Internal::LauncherSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x278c4c)
    #3 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x278c4c)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:135 (libUtils.so.7+0x278c4c)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 80 at 0x7b140047e190 allocated by thread T49:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherSocket::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launchersocket.cpp:577 (libUtils.so.7+0x276bc9)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T42 'QThread' (tid=1303156, finished) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T49 'Thread (pooled)' (tid=1303131, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::LauncherSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08005516c0 by thread T28:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005516c0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005516c0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303220, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800517378 by thread T28:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800517378 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800517360 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303220, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b7800150c00 by thread T28:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cc8)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cc8)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cc8)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cc8)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cc8)
    #6 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cc8)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cc8)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b7800150c00 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardErrorPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardErrorPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x278009)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:475 (libUtils.so.7+0x278009)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 2696 at 0x7b7800150c00 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardErrorPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardErrorPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x278009)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:475 (libUtils.so.7+0x278009)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303220, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50002b68c8 by thread T28:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50002b68c8 by thread T67:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #8 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #9 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #11 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #12 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #13 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #14 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #15 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #17 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #18 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #19 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #20 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #21 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #22 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #23 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 472 at 0x7b50002b6800 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:142 (libProjectExplorer.so+0x36ce2e)
    #3 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #4 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #5 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #7 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #8 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #9 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #10 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #11 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #13 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #15 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #16 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #17 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #18 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #19 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T28 'QThread' (tid=1303220, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800517370 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #6 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #7 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #8 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #9 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #10 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #12 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #13 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #14 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #18 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #19 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #20 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #21 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #22 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #23 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #24 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b0800517370 by thread T28:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'QThread' (tid=1303220, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000016df8 by thread T31:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000016df8 by thread T26:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T31 'Thread (pooled)' (tid=1303119, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017050 by thread T25:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000017050 by thread T31:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T31 'Thread (pooled)' (tid=1303119, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017128 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:558 (libQmlJS.so.7+0x1d8cbd)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #10 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #15 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #18 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000017128 by thread T36:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T36 'Thread (pooled)' (tid=1303116, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b2000388018 by thread T47:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Previous write of size 8 at 0x7b2000388018 by thread T23:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 120 at 0x7b2000388000 allocated by thread T23:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T47 'QThread' (tid=1303238, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T23 'Thread (pooled)' (tid=1303113, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000171a0 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc0000171a0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #5 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #6 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #7 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #8 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #14 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #15 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #18 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #19 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #20 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #22 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800467070 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #13 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #14 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #15 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #16 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #17 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #18 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #19 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #20 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #21 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #22 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #23 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #24 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #25 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #26 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #27 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #28 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #29 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b0800467070 by thread T24:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T24 'QThread' (tid=1303250, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #12 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #13 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #14 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #15 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #18 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #19 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #20 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #21 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #22 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #23 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #24 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000171b8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc0000171b8 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000171c0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc0000171c0 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000171d0 by thread T59:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc0000171d0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T59 'Thread (pooled)' (tid=1303128, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800559ed0 by thread T40:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800559ed0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800559ec0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08003dd910 by thread T58:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003dd910 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003dd900 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017290 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000017290 by thread T49:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T49 'Thread (pooled)' (tid=1303131, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800559ed8 by thread T40:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800559ed8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800559ec0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08003dd918 by thread T58:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003dd918 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003dd900 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080041e290 by thread T41:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080041e290 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080041e280 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800531170 by thread T55:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800531170 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800531160 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800531178 by thread T55:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800531178 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800531160 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800514c4c by thread T55:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800514c48 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800514c40 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004db810 by thread T20:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004db810 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004db800 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303297, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004db818 by thread T20:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004db818 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004db800 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303297, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080042c00c by thread T20:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080042c008 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080042c000 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303297, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080053b98c by thread T40:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053b988 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053b980 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080043d970 by thread T65:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080043d970 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080043d960 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080043546c by thread T58:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800435468 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800435460 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080041e298 by thread T41:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080041e298 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080041e280 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080050842c by thread T41:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800508428 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800508420 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800573030 by thread T51:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800573030 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800573020 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800573038 by thread T51:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800573038 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800573020 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080056c0ac by thread T51:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080056c0a8 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080056c0a0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080042c010 by thread T20:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080042c010 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080042c000 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303297, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080053b990 by thread T40:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053b990 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053b980 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080053bc68 by thread T40:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053bc68 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053bc60 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080053b998 by thread T40:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053b998 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053b980 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d818 by thread T40:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d818 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d810 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080053b980 by thread T40:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053b980 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053b980 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800514c50 by thread T55:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800514c50 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800514c40 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08000f7228 by thread T55:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7228 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7220 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800514c58 by thread T55:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800514c58 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800514c40 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d7e8 by thread T55:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d7e8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d7e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800514c40 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800514c40 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800514c40 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800435470 by thread T58:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800435470 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800435460 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004da0e8 by thread T58:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004da0e8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004da0e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800508430 by thread T41:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800508430 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800508420 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004d24a8 by thread T41:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d24a8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d24a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800508438 by thread T41:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800508438 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800508420 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d938 by thread T41:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d938 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d930 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800508420 by thread T41:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800508420 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800508420 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080043d978 by thread T65:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080043d978 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080043d960 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800520c2c by thread T65:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800520c28 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800520c20 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004c34f0 by thread T34:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004c34f0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004c34e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303295, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800435478 by thread T58:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800435478 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800435460 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d5d8 by thread T58:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d5d8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d5d0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800435460 by thread T58:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800435460 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800435460 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080056c0b0 by thread T51:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080056c0b0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080056c0a0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800515728 by thread T20:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800515728 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800515720 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303297, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d24b8 by thread T41:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d24b8 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d24a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d24b0 by thread T41:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d24b0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d24a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800520c30 by thread T65:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800520c30 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800520c20 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800558138 by thread T34:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800558138 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800558120 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303295, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800558130 by thread T34:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800558130 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800558120 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303295, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b94001e7800 by thread T34:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b94001e7800 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 8465 at 0x7b94001e7800 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303295, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004da0f8 by thread T58:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004da0f8 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004da0e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004da0f0 by thread T58:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004da0f0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004da0e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b840008ac00 by thread T58:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b840008ac00 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 4229 at 0x7b840008ac00 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08000f7238 by thread T55:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08000f7238 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08000f7220 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b840008c000 by thread T41:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b840008c000 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 4304 at 0x7b840008c000 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800545d88 by thread T65:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800545d88 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800545d80 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800520c38 by thread T65:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800520c38 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800520c20 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bd78 by thread T65:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bd78 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bd70 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800556e28 by thread T51:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800556e28 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800556e20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080056c0b8 by thread T51:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080056c0b8 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080056c0a0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047dea8 by thread T51:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047dea8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047dea0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080056c0a0 by thread T51:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080056c0a0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080056c0a0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d940 by thread T41:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d940 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d930 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080053bc78 by thread T40:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053bc78 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053bc60 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080053bc70 by thread T40:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053bc70 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053bc60 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b7400051e00 by thread T40:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b7400051e00 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 2462 at 0x7b7400051e00 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080042c000 by thread T20:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080042c000 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080042c000 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303297, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d5e0 by thread T58:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d5e0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d5d0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d7f0 by thread T55:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d7f0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d7e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800556e38 by thread T51:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800556e38 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800556e20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d948 by thread T41:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d948 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d930 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047d950 by thread T41:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d950 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d930 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003cc040 by thread T41:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003cc040 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003cc040 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303296, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d820 by thread T40:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d820 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d810 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800515738 by thread T20:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800515738 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800515720 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303297, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800515730 by thread T20:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800515730 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800515720 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303297, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d7f8 by thread T55:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d7f8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d7e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047d800 by thread T55:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d800 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d7e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000be400 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be400 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be400 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800520c20 by thread T65:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800520c20 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800520c20 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d828 by thread T40:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d828 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d810 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047d830 by thread T40:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d830 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d810 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b8400088400 by thread T20:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b8400088400 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 4574 at 0x7b8400088400 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303297, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800556e30 by thread T51:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800556e30 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800556e20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000172a8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::FutureProgressPrivate::FutureProgressPrivate(Core::FutureProgress*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:76 (libCore.so+0x43fb04)
    #5 Core::FutureProgress::FutureProgress(QWidget*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:126 (libCore.so+0x43fcd6)
    #6 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #7 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #8 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #9 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #10 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc0000172a8 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50002b6cc8 by thread T55:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50002b6cc8 by thread T67:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #8 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #10 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #11 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #12 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #13 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #15 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #16 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #17 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #18 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #19 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #20 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #21 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #22 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 472 at 0x7b50002b6c00 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:142 (libProjectExplorer.so+0x36ce2e)
    #3 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #4 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #6 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #7 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #8 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #9 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #10 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #11 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #12 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #13 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #14 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #15 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #16 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #17 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303300, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800545d98 by thread T65:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800545d98 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800545d80 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800545d90 by thread T65:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800545d90 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800545d80 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b8c0006ac00 by thread T65:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b8c0006ac00 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 6264 at 0x7b8c0006ac00 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b840008d400 by thread T51:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b840008d400 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 4146 at 0x7b840008d400 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000172c0 by thread T59:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc0000172c0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::FutureProgressPrivate::FutureProgressPrivate(Core::FutureProgress*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:76 (libCore.so+0x43fb04)
    #5 Core::FutureProgress::FutureProgress(QWidget*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:126 (libCore.so+0x43fcd6)
    #6 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #7 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #8 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #9 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #10 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T59 'Thread (pooled)' (tid=1303128, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d5e8 by thread T58:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d5e8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d5d0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047d5f0 by thread T58:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047d5f0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047d5d0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b1000389e40 by thread T58:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b1000389e40 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b1000389e40 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303292, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047deb0 by thread T51:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047deb0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047dea0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047deb8 by thread T51:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047deb8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047dea0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047dec0 by thread T51:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047dec0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047dea0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003c0040 by thread T51:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003c0040 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003c0040 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303298, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bd80 by thread T65:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bd80 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bd70 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bd88 by thread T65:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bd88 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bd70 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047bd90 by thread T65:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bd90 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bd70 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00052274 by thread T67:
    #0 QHash<unsigned long long, Utils::StringHolder>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x250093)
    #1 Utils::Id::operator==(char const*) const ../../src/libs/utils/id.cpp:305 (libUtils.so.7+0x250093)
    #2 ProjectExplorer::ToolChain::languageVersion(Utils::Id const&, QVector<ProjectExplorer::Macro> const&) ../../src/plugins/projectexplorer/toolchain.cpp:446 (libProjectExplorer.so+0x64e46a)
    #3 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:504 (libProjectExplorer.so+0x36f934)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #5 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #6 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #7 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #8 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #9 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #10 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #11 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #13 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #14 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #15 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #16 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c00052274 by main thread:
    #0 QHash<unsigned long long, Utils::StringHolder>::operator[](unsigned long long const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libUtils.so.7+0x24e08c)
    #1 theId ../../src/libs/utils/id.cpp:115 (libUtils.so.7+0x24e08c)
    #2 Utils::Id::Id(char const*) ../../src/libs/utils/id.cpp:143 (libUtils.so.7+0x24e223)
    #3 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55faa)
    #4 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #5 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #6 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #12 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #17 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #19 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #20 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 48 at 0x7b0c00052260 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 Utils::Id::Id(char const*) ../../src/libs/utils/id.cpp:143 (libUtils.so.7+0x24e223)
    #3 __static_initialization_and_destruction_0 ../../src/plugins/texteditor/texteditor.cpp:1087 (libTextEditor.so+0x97de4)
    #4 _GLOBAL__sub_I_texteditor.cpp src/plugins/texteditor/TextEditor_autogen/include/texteditor.moc:208 (libTextEditor.so+0x97de4)
    #5 call_init /build/glibc-SzIz7B/glibc-2.31/elf/dl-init.c:72 (ld-linux-x86-64.so.2+0x11b99)
    #6 QLibraryPrivate::load_sys() plugin/qlibrary_unix.cpp:238 (libQt5Core.so.5+0x2bf148)
    #7 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1636 (libExtensionSystem.so.7+0x438b4)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1362 (libExtensionSystem.so.7+0x445fa)
    #9 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #10 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<unsigned long long, Utils::StringHolder>::value(unsigned long long const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017470 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000017470 by thread T49:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T49 'Thread (pooled)' (tid=1303131, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003b2200 by thread T40:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003b2200 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003b2200 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T40 'QThread' (tid=1303294, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000be580 by thread T65:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be580 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be580 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303299, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000175d8 by thread T59:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc0000175d8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T59 'Thread (pooled)' (tid=1303128, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017758 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000017758 by thread T32:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T32 'Thread (pooled)' (tid=1303112, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017770 by thread T7:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000017770 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T7 'Thread (pooled)' (tid=1303123, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017830 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:410 (libCore.so+0x447c66)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000017830 by thread T25:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017878 by thread T26:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000017878 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:410 (libCore.so+0x447c66)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017a10 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:412 (libCore.so+0x447cc4)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000017a10 by thread T31:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T31 'Thread (pooled)' (tid=1303119, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017a28 by thread T26:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000017a28 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:412 (libCore.so+0x447cc4)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017ae8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::ActionContainerPrivate::*)()>::call(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x1270f7)
    #5 void QtPrivate::FunctionPointer<void (Core::Internal::ActionContainerPrivate::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x1270f7)
    #6 QtPrivate::QSlotObject<void (Core::Internal::ActionContainerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x1270f7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::Internal::Action::setActive(bool) ../../src/plugins/coreplugin/actionmanager/command.cpp:422 (libCore.so+0x12e572)
    #10 Core::Internal::Action::updateActiveState() ../../src/plugins/coreplugin/actionmanager/command.cpp:365 (libCore.so+0x12e572)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::Action::*)()>::call(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x131d77)
    #12 void QtPrivate::FunctionPointer<void (Core::Internal::Action::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x131d77)
    #13 QtPrivate::QSlotObject<void (Core::Internal::Action::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x131d77)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::ProxyAction::actionChanged() ../../src/libs/utils/proxyaction.cpp:104 (libUtils.so.7+0x304aa9)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::ProxyAction::*)()>::call(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x304c17)
    #18 void QtPrivate::FunctionPointer<void (Utils::ProxyAction::*)()>::call<QtPrivate::List<>, void>(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x304c17)
    #19 QtPrivate::QSlotObject<void (Utils::ProxyAction::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x304c17)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:430 (libCore.so+0x448312)
    #25 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #26 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #27 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #28 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #29 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #30 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #31 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #32 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #33 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #35 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #36 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #38 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #39 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #40 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #41 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #42 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #43 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #44 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #45 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #46 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000017ae8 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017b00 by thread T26:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000017b00 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::ActionContainerPrivate::*)()>::call(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x1270f7)
    #5 void QtPrivate::FunctionPointer<void (Core::Internal::ActionContainerPrivate::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x1270f7)
    #6 QtPrivate::QSlotObject<void (Core::Internal::ActionContainerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x1270f7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::Internal::Action::setActive(bool) ../../src/plugins/coreplugin/actionmanager/command.cpp:422 (libCore.so+0x12e572)
    #10 Core::Internal::Action::updateActiveState() ../../src/plugins/coreplugin/actionmanager/command.cpp:365 (libCore.so+0x12e572)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::Action::*)()>::call(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x131d77)
    #12 void QtPrivate::FunctionPointer<void (Core::Internal::Action::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x131d77)
    #13 QtPrivate::QSlotObject<void (Core::Internal::Action::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x131d77)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::ProxyAction::actionChanged() ../../src/libs/utils/proxyaction.cpp:104 (libUtils.so.7+0x304aa9)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::ProxyAction::*)()>::call(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x304c17)
    #18 void QtPrivate::FunctionPointer<void (Utils::ProxyAction::*)()>::call<QtPrivate::List<>, void>(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x304c17)
    #19 QtPrivate::QSlotObject<void (Utils::ProxyAction::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x304c17)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:430 (libCore.so+0x448312)
    #25 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #26 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #27 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #28 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #29 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #30 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #31 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #32 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #33 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #35 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #36 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #38 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #39 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #40 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #41 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #42 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #43 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #44 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #45 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #46 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b2400345f50 by main thread:
    #0 QHashData::firstNode() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:128 (libQmlJS.so.7+0x1d6b7c)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::begin() const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:503 (libQmlJS.so.7+0x1d6b7c)
    #2 QmlJS::Snapshot::begin() const ../../src/libs/qmljs/qmljsdocument.h:247 (libQmlJS.so.7+0x1d6b7c)
    #3 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1253 (libQmlJS.so.7+0x1d6b7c)
    #4 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #5 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #6 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #12 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #17 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #19 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #20 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b2400345f50 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::createNode(unsigned int, QString const&, QSharedPointer<QmlJS::Document const> const&, QHashNode<QString, QSharedPointer<QmlJS::Document const> >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:611 (libQmlJS.so.7+0x1611f5)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x1611f5)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1611f5)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 136 at 0x7b2400345f30 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:128 in QHashData::firstNode()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c004aede8 by main thread:
    #0 QSharedPointer<QmlJS::Document const>::operator->() const /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:307 (libQmlJS.so.7+0x1d5614)
    #1 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d5614)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1254 (libQmlJS.so.7+0x1d6baf)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c004aede8 by thread T61:
    #0 QSharedPointer<QmlJS::Document const>::QSharedPointer(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libQmlJS.so.7+0x161197)
    #1 QHashNode<QString, QSharedPointer<QmlJS::Document const> >::QHashNode(QString const&, QSharedPointer<QmlJS::Document const> const&, unsigned int, QHashNode<QString, QSharedPointer<QmlJS::Document const> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x161197)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::createNode(unsigned int, QString const&, QSharedPointer<QmlJS::Document const> const&, QHashNode<QString, QSharedPointer<QmlJS::Document const> >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:610 (libQmlJS.so.7+0x161197)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x161197)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x161197)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c004aedd0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:307 in QSharedPointer<QmlJS::Document const>::operator->() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b5c00014cd8 by thread T61:
    #0 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:977 (libQmlJS.so.7+0x18e96a)
    #1 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #2 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b5c00014cd8 by main thread:
    #0 QMap<QString, QmlJS::CoreImport>::QMap(QMap<QString, QmlJS::CoreImport> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:628 (libQmlJS.so.7+0x154454)
    #1 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x154454)
    #2 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154454)
    #3 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1249 (libQmlJS.so.7+0x1d6ab8)
    #4 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #5 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #6 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #12 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #17 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #19 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #20 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 840 at 0x7b5c00014c80 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QmlJSTools::Internal::QmlJSToolsPlugin::initialize(QStringList const&, QString*) ../../src/plugins/qmljstools/qmljstoolsplugin.cpp:77 (libQmlJSTools.so+0x6de30)
    #2 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #3 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #4 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #5 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #6 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:977 in QMap<QString, QmlJS::CoreImport>::detach_helper()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017c08 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000017c08 by thread T36:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T36 'Thread (pooled)' (tid=1303116, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005340d0 by thread T48:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005340d0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005340c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005340d8 by thread T48:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005340d8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005340c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004130d0 by thread T24:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004130d0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004130c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303346, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800524bd0 by thread T9:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800524bd0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800524bc0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080045b0f0 by thread T57:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080045b0f0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080045b0e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303347, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10000be6cc by thread T48:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be6c8 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be6c0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10000be6d0 by thread T48:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be6d0 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be6c0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b04000317c8 by thread T48:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000317c8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000317c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004e9e78 by thread T14:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004e9e78 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004e9e60 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1303376, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800481558 by thread T20:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800481558 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800481540 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303373, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0045d298 by thread T20:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0045d298 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0045d290 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303373, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004130d8 by thread T24:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004130d8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004130c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303346, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100038bfcc by thread T24:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b100038bfc8 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b100038bfc0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303346, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100038bfd0 by thread T24:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b100038bfd0 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b100038bfc0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303346, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b04000317d8 by thread T24:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000317d8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000317d0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303346, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080043e310 by thread T27:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080043e310 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080043e300 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T27 'QThread' (tid=1303375, running) created by thread T7 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d1858 by thread T41:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d1858 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d1840 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303384, running) created by thread T63 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bc58 by thread T41:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bc58 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bc50 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303384, running) created by thread T63 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005371b0 by thread T46:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005371b0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005371a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303379, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d2e50 by thread T45:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d2e50 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d2e40 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303382, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047df38 by thread T48:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047df38 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047df30 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000be6c0 by thread T48:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be6c0 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be6c0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0045fa58 by thread T12:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0045fa58 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0045fa50 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303372, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bb98 by thread T13:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bb98 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bb90 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T13 'QThread' (tid=1303380, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800528c70 by thread T20:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800528c70 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800528c60 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303373, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b9c00085000 by thread T20:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b9c00085000 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 13285 at 0x7b9c00085000 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303373, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800524bd8 by thread T9:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800524bd8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800524bc0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003abc0c by thread T9:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003abc08 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003abc00 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017e18 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #5 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #6 QmlJS::ModelManagerInterface::maybeScan(QmlJS::PathsAndLanguages const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1178 (libQmlJS.so.7+0x1d4ba7)
    #7 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #8 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #9 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #10 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #16 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #21 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #24 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000017e18 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bb68 by thread T24:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bb68 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bb60 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303346, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b100038bfc0 by thread T24:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b100038bfc0 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b100038bfc0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303346, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047c528 by thread T54:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c528 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c520 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T54 'QThread' (tid=1303377, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004bb4d8 by thread T34:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004bb4d8 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004bb4c0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303383, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bc60 by thread T41:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bc60 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bc50 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303384, running) created by thread T63 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005371b8 by thread T46:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005371b8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005371a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303379, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d2e58 by thread T45:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d2e58 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d2e40 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303382, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c004637d8 by thread T14:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c004637d8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c004637d0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1303376, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b04000317c0 by thread T48:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000317c0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000317c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0045fa60 by thread T12:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0045fa60 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0045fa50 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303372, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bba0 by thread T13:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bba0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bb90 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T13 'QThread' (tid=1303380, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004fa3b8 by thread T35:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004fa3b8 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004fa3a0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T35 'QThread' (tid=1303381, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bb08 by thread T35:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bb08 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bb00 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T35 'QThread' (tid=1303381, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080045b0f8 by thread T57:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080045b0f8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080045b0e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303347, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003abc10 by thread T9:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003abc10 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003abc00 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017e60 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000017e60 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #5 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #6 QmlJS::ModelManagerInterface::maybeScan(QmlJS::PathsAndLanguages const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1178 (libQmlJS.so.7+0x1d4ba7)
    #7 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #8 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #9 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #10 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #16 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #21 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #24 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004e03d8 by thread T22:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004e03d8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004e03c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1303378, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080043e318 by thread T27:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080043e318 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080043e300 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T27 'QThread' (tid=1303375, running) created by thread T7 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b04000317d0 by thread T24:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000317d0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000317d0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303346, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047c530 by thread T54:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c530 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c520 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T54 'QThread' (tid=1303377, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bc28 by thread T34:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bc28 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bc20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303383, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bc68 by thread T41:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bc68 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bc50 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303384, running) created by thread T63 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800554c4c by thread T46:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800554c48 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800554c40 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303379, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08003ffd6c by thread T45:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003ffd68 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003ffd60 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303382, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b7800151800 by thread T14:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cc8)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cc8)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cc8)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cc8)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cc8)
    #6 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cc8)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cc8)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b7800151800 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardErrorPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardErrorPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x278009)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:475 (libUtils.so.7+0x278009)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 2659 at 0x7b7800151800 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardErrorPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardErrorPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x278009)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:475 (libUtils.so.7+0x278009)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1303376, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047df40 by thread T48:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047df40 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047df30 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0045fa68 by thread T12:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0045fa68 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0045fa50 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303372, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bba8 by thread T13:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bba8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bb90 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T13 'QThread' (tid=1303380, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0045d2a0 by thread T20:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0045d2a0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0045d290 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303373, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bb10 by thread T35:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bb10 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bb00 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T35 'QThread' (tid=1303381, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10000be74c by thread T57:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be748 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be740 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303347, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b04000317b8 by thread T9:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000317b8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000317b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017e78 by thread T25:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000017e78 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08005322ec by thread T22:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005322e8 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005322e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1303378, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bb78 by thread T24:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bb78 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bb60 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303346, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047c538 by thread T54:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c538 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c520 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T54 'QThread' (tid=1303377, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bc30 by thread T34:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bc30 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bc20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303383, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047bc70 by thread T41:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bc70 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bc50 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303384, running) created by thread T63 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800554c50 by thread T46:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800554c50 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800554c40 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303379, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08003ffd70 by thread T45:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003ffd70 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003ffd60 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303382, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c004637e8 by thread T14:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c004637e8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c004637d0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1303376, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047df48 by thread T48:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047df48 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047df30 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0045fa70 by thread T12:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0045fa70 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0045fa50 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303372, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047bbb0 by thread T13:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bbb0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bb90 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T13 'QThread' (tid=1303380, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0045d2b0 by thread T20:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0045d2b0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0045d290 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303373, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bb18 by thread T35:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bb18 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bb00 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T35 'QThread' (tid=1303381, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10000be750 by thread T57:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be750 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be740 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303347, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047c5e8 by thread T9:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c5e8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c5e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017ef0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::maybeScan(QmlJS::PathsAndLanguages const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1178 (libQmlJS.so.7+0x1d4ba7)
    #8 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #9 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #10 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000017ef0 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005322f0 by thread T22:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005322f0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005322e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1303378, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047bb80 by thread T24:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bb80 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bb60 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303346, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047c540 by thread T54:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c540 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c520 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T54 'QThread' (tid=1303377, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bc38 by thread T34:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bc38 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bc20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303383, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003bc100 by thread T41:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003bc100 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003bc100 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T41 'QThread' (tid=1303384, running) created by thread T63 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08005618a8 by thread T46:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005618a8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005618a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303379, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004d2808 by thread T45:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d2808 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d2800 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303382, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c004637f0 by thread T14:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c004637f0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c004637d0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1303376, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047df50 by thread T48:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047df50 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047df30 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10002d2e00 by thread T12:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10002d2e00 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10002d2e00 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303372, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b1000365e80 by thread T13:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b1000365e80 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b1000365e80 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T13 'QThread' (tid=1303380, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b1000391f80 by thread T20:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b1000391f80 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b1000391f80 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303373, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047bb20 by thread T35:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bb20 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bb00 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T35 'QThread' (tid=1303381, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b04000317e8 by thread T57:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000317e8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000317e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303347, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003abc00 by thread T9:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003abc00 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003abc00 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017f08 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000017f08 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::maybeScan(QmlJS::PathsAndLanguages const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1178 (libQmlJS.so.7+0x1d4ba7)
    #8 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #9 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #10 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08005585c8 by thread T22:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005585c8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005585c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1303378, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b100038a100 by thread T24:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b100038a100 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b100038a100 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303346, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003d0040 by thread T54:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003d0040 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003d0040 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T54 'QThread' (tid=1303377, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047bc40 by thread T34:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bc40 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047bc20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303383, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800554c40 by thread T46:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800554c40 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800554c40 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303379, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08003ffd60 by thread T45:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003ffd60 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003ffd60 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303382, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000be4c0 by thread T14:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be4c0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be4c0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1303376, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000be680 by thread T48:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be680 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be680 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303345, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003c4040 by thread T35:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003c4040 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003c4040 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T35 'QThread' (tid=1303381, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000be740 by thread T57:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be740 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be740 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303347, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b04000317b0 by thread T9:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000317b0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000317b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017fc8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::FutureProgressPrivate::FutureProgressPrivate(Core::FutureProgress*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:76 (libCore.so+0x43fb04)
    #5 Core::FutureProgress::FutureProgress(QWidget*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:126 (libCore.so+0x43fcd6)
    #6 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #7 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #8 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #9 QmlJS::ModelManagerInterface::maybeScan(QmlJS::PathsAndLanguages const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1178 (libQmlJS.so.7+0x1d4ba7)
    #10 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #11 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #12 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #13 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #19 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #20 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #24 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #25 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #26 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #27 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000017fc8 by thread T25:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005322f8 by thread T22:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005322f8 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005322e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1303378, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b1000382c80 by thread T34:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b1000382c80 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b1000382c80 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303383, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005618b8 by thread T46:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005618b8 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005618a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303379, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d2818 by thread T45:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d2818 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d2800 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303382, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d2810 by thread T45:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d2810 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d2800 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303382, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b04000317e0 by thread T57:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000317e0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000317e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303347, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047c5f0 by thread T9:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c5f0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c5e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000017fe0 by thread T63:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000017fe0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::FutureProgressPrivate::FutureProgressPrivate(Core::FutureProgress*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:76 (libCore.so+0x43fb04)
    #5 Core::FutureProgress::FutureProgress(QWidget*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:126 (libCore.so+0x43fcd6)
    #6 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #7 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #8 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #9 QmlJS::ModelManagerInterface::maybeScan(QmlJS::PathsAndLanguages const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1178 (libQmlJS.so.7+0x1d4ba7)
    #10 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #11 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #12 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #13 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #19 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #20 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #24 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #25 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #26 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #27 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005585d8 by thread T22:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005585d8 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005585c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1303378, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005618b0 by thread T46:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005618b0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005618a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303379, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7ba400163000 by thread T46:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7ba400163000 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 17572 at 0x7ba400163000 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303379, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047c5f8 by thread T9:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c5f8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c5e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000018058 by thread T7:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000018058 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T7 'Thread (pooled)' (tid=1303123, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b9800090000 by thread T22:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b9800090000 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 11390 at 0x7b9800090000 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1303378, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b90001b6000 by thread T45:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b90001b6000 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 7964 at 0x7b90001b6000 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303382, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047c600 by thread T9:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c600 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c5e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b100035c440 by thread T9:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b100035c440 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b100035c440 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T9 'QThread' (tid=1303344, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003ca00c by thread T58:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003ca008 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003ca000 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303386, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c0015e9a0 by thread T40:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c0015e9a0 by thread T39:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1557 (libQt5Core.so.5+0x2d1667)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T40 'QThread' (tid=1303390, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T39 'Thread (pooled)' (tid=1303135, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000180d0 by thread T63:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc0000180d0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::maybeScan(QmlJS::PathsAndLanguages const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1178 (libQmlJS.so.7+0x1d4ba7)
    #8 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #9 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #10 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047bac0 by thread T22:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047bac0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047baa0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T22 'QThread' (tid=1303378, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c00213900 by thread T28:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c00213900 by thread T32:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1557 (libQt5Core.so.5+0x2d1667)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T28 'QThread' (tid=1303393, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T32 'Thread (pooled)' (tid=1303112, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800514950 by thread T51:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800514950 by thread T53:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #6 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #7 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #9 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 24 at 0x7b0800514940 allocated by thread T53:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #6 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #7 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #9 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'QThread' (tid=1303387, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T53 'Thread (pooled)' (tid=1303130, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 in call
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003ca010 by thread T58:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003ca010 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003ca000 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303386, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000181d8 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc0000181d8 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10000be790 by thread T64:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be790 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be780 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303392, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #12 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #13 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #14 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #15 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #18 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #19 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #20 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #21 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #22 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #23 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #24 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003ca000 by thread T58:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003ca000 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003ca000 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T58 'QThread' (tid=1303386, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000182b0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:410 (libCore.so+0x447c66)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::maybeScan(QmlJS::PathsAndLanguages const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1178 (libQmlJS.so.7+0x1d4ba7)
    #8 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #9 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #10 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc0000182b0 by thread T43:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T43 'Thread (pooled)' (tid=1303133, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000be780 by thread T64:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be780 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be780 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303392, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #12 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #13 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #14 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #15 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #18 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #19 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #20 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #21 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #22 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #23 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #24 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000182c8 by thread T31:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc0000182c8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:410 (libCore.so+0x447c66)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::maybeScan(QmlJS::PathsAndLanguages const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1178 (libQmlJS.so.7+0x1d4ba7)
    #8 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #9 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #10 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T31 'Thread (pooled)' (tid=1303119, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50002b72c8 by thread T64:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50002b72c8 by thread T67:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323eb3)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x323eb3)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::swap(QList<Utils::Internal::ProcessInterfaceSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x323eb3)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x323eb3)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323eb3)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #13 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #14 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #15 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #16 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #17 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #18 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #19 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #20 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #21 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #22 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #23 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #24 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #25 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #26 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #27 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #28 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #29 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #30 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #31 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 472 at 0x7b50002b7200 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:142 (libProjectExplorer.so+0x36ce2e)
    #3 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #4 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #6 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #7 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #8 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #9 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #10 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #11 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #12 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #13 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #14 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #15 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #16 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #17 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T64 'QThread' (tid=1303392, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #12 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #13 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #14 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #15 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #18 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #19 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #20 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #21 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #22 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #23 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #24 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000183d0 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 std::function<bool (double)>::operator()(double) const /usr/include/c++/9/bits/std_function.h:688 (libQmlJS.so.7+0x1d9c40)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:929 (libQmlJS.so.7+0x1d9c40)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc0000183d0 by thread T53:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T53 'Thread (pooled)' (tid=1303130, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800566f6c by thread T37:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800566f68 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800566f60 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303405, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800566f70 by thread T37:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800566f70 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800566f60 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303405, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000018610 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 std::function<bool (double)>::operator()(double) const /usr/include/c++/9/bits/std_function.h:688 (libQmlJS.so.7+0x1d9c40)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:929 (libQmlJS.so.7+0x1d9c40)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000018610 by thread T53:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T53 'Thread (pooled)' (tid=1303130, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800538b70 by thread T66:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800538b70 by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #8 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #10 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #11 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #12 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #13 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #15 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #16 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #17 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #18 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #19 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #20 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #21 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #22 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 24 at 0x7b0800538b60 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #8 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #10 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #11 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #12 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #13 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #15 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #16 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #17 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #18 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #19 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #20 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #21 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #22 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T66 'QThread' (tid=1303410, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 in call
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800566f60 by thread T37:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800566f60 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800566f60 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303405, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c0015e540 by thread T66:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c0015e540 by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1557 (libQt5Core.so.5+0x2d1667)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T66 'QThread' (tid=1303410, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #6 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #8 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #9 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #10 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #11 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #14 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #15 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #16 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #17 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #18 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #19 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #20 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000018880 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:412 (libCore.so+0x447cc4)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::maybeScan(QmlJS::PathsAndLanguages const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1178 (libQmlJS.so.7+0x1d4ba7)
    #8 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #9 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #10 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000018880 by thread T25:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004eb060 by thread T37:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27adf9)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2f8236)
    #3 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:606 (libQt5Core.so.5+0x2f8236)

  Previous write of size 8 at 0x7b08004eb060 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303405, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003db750 by main thread:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 QmlJS::PluginDumper::onLoadBuiltinTypes(QmlJS::ModelManagerInterface::ProjectInfo const&, bool) ../../src/libs/qmljs/qmljsplugindumper.cpp:103 (libQmlJS.so.7+0x1fdbc9)
    #7 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:71 (libQmlJS.so.7+0x1fde70)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fde70)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fde70)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fde70)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #12 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #13 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:595 (libQmlJS.so.7+0x1d948a)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #19 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #20 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #24 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #25 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #26 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #27 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b10003db750 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003db740 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c00189ea0 by thread T37:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c00189ea0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1550 (libQt5Core.so.5+0x2d158b)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303405, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b200036d798 by thread T37:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Previous write of size 8 at 0x7b200036d798 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 120 at 0x7b200036d780 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303405, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003db810 by main thread:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:696 (libQmlJS.so.7+0x1ca7a1)
    #6 QmlJS::PluginDumper::onLoadBuiltinTypes(QmlJS::ModelManagerInterface::ProjectInfo const&, bool) ../../src/libs/qmljs/qmljsplugindumper.cpp:103 (libQmlJS.so.7+0x1fdbc9)
    #7 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:71 (libQmlJS.so.7+0x1fde70)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fde70)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fde70)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fde70)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #12 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #13 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:595 (libQmlJS.so.7+0x1d948a)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #19 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #20 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #24 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #25 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #26 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #27 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #30 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b10003db810 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003db800 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800520c0c by thread T34:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800520c08 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800520c00 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303432, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0044a738 by thread T6:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x2cd16d)
    #3 QVector<QPostEvent>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x2cd16d)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c0044a738 by thread T31:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c0044a720 allocated by thread T31:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T31 'Thread (pooled)' (tid=1303119, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c0044a720 by thread T6:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QArrayData::deallocate(QArrayData*, unsigned long, unsigned long) tools/qarraydata.cpp:267 (libQt5Core.so.5+0xc61b9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c0044a720 by thread T31:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T31 'Thread (pooled)' (tid=1303119, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qarraydata.cpp:267 in QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080056fd50 by thread T57:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080056fd50 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080056fd40 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303433, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800520c10 by thread T34:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800520c10 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800520c00 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303432, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080053f8f0 by thread T46:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053f8f0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053f8e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303435, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080053f8f8 by thread T46:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053f8f8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053f8e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303435, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080054002c by thread T48:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800540028 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800540020 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303430, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005239c0 by thread T21:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005239c0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005239c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1303459, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080043ae90 by thread T24:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080043ae90 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080043ae80 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303425, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080056fd58 by thread T57:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080056fd58 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080056fd40 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303433, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080051062c by thread T45:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800510628 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800510620 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303436, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800520c00 by thread T34:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800520c00 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800520c00 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303432, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08003e9bac by thread T54:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003e9ba8 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003e9ba0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T54 'QThread' (tid=1303426, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080053a9ec by thread T14:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053a9e8 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053a9e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1303428, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080050ea6c by thread T46:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080050ea68 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080050ea60 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303435, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800540030 by thread T48:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800540030 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800540020 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303430, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000018d48 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::PluginDumper::onLoadBuiltinTypes(QmlJS::ModelManagerInterface::ProjectInfo const&, bool) ../../src/libs/qmljs/qmljsplugindumper.cpp:108 (libQmlJS.so.7+0x1fdd5a)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:71 (libQmlJS.so.7+0x1fde70)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fde70)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fde70)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fde70)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #10 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:595 (libQmlJS.so.7+0x1d948a)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000018d48 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 std::function<bool (double)>::operator()(double) const /usr/include/c++/9/bits/std_function.h:688 (libQmlJS.so.7+0x1d9c40)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:929 (libQmlJS.so.7+0x1d9c40)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080043ae98 by thread T24:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080043ae98 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080043ae80 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303425, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080052a32c by thread T24:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080052a328 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080052a320 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303425, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800510630 by thread T45:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800510630 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800510620 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303436, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004757e0 by thread T34:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27adf9)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2f8236)
    #3 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:606 (libQt5Core.so.5+0x2f8236)

  Previous write of size 8 at 0x7b08004757e0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303432, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08003e9bb0 by thread T54:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003e9bb0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003e9ba0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T54 'QThread' (tid=1303426, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080053a9f0 by thread T14:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053a9f0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053a9e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1303428, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080053a9e0 by thread T14:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053a9e0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053a9e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1303428, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800540020 by thread T48:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800540020 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800540020 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303430, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000018d50 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::PluginDumper::onLoadBuiltinTypes(QmlJS::ModelManagerInterface::ProjectInfo const&, bool) ../../src/libs/qmljs/qmljsplugindumper.cpp:108 (libQmlJS.so.7+0x1fdd5a)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:71 (libQmlJS.so.7+0x1fde70)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fde70)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fde70)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fde70)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #10 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:595 (libQmlJS.so.7+0x1d948a)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000018d50 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000018d60 by thread T43:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000018d60 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::PluginDumper::onLoadBuiltinTypes(QmlJS::ModelManagerInterface::ProjectInfo const&, bool) ../../src/libs/qmljs/qmljsplugindumper.cpp:108 (libQmlJS.so.7+0x1fdd5a)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:71 (libQmlJS.so.7+0x1fde70)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fde70)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fde70)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fde70)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #10 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:595 (libQmlJS.so.7+0x1d948a)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T43 'Thread (pooled)' (tid=1303133, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800522bac by thread T57:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800522ba8 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800522ba0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303433, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080052a330 by thread T24:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080052a330 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080052a320 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303425, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800510620 by thread T45:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800510620 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800510620 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303436, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c0016c230 by thread T34:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c0016c230 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1550 (libQt5Core.so.5+0x2d158b)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T34 'QThread' (tid=1303432, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08003e9ba0 by thread T54:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003e9ba0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003e9ba0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T54 'QThread' (tid=1303426, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080050ea70 by thread T46:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080050ea70 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080050ea60 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303435, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004f0880 by thread T14:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27adf9)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2f8236)
    #3 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:606 (libQt5Core.so.5+0x2f8236)

  Previous write of size 8 at 0x7b08004f0880 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1303428, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080052c700 by thread T48:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27adf9)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2f8236)
    #3 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:606 (libQt5Core.so.5+0x2f8236)

  Previous write of size 8 at 0x7b080052c700 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303430, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000018eb0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::PluginDumper::onLoadBuiltinTypes(QmlJS::ModelManagerInterface::ProjectInfo const&, bool) ../../src/libs/qmljs/qmljsplugindumper.cpp:108 (libQmlJS.so.7+0x1fdd5a)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:71 (libQmlJS.so.7+0x1fde70)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fde70)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fde70)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fde70)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #10 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #11 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:595 (libQmlJS.so.7+0x1d948a)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #17 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #22 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #24 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #25 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #28 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000018eb0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800522bb0 by thread T57:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800522bb0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800522ba0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303433, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0400031588 by thread T57:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0400031588 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b0400031580 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303433, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800522ba0 by thread T57:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800522ba0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800522ba0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303433, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800508ea0 by thread T45:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27adf9)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2f8236)
    #3 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:606 (libQt5Core.so.5+0x2f8236)

  Previous write of size 8 at 0x7b0800508ea0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303436, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00425388 by thread T6:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x2cd16d)
    #3 QVector<QPostEvent>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x2cd16d)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c00425388 by thread T23:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c00425370 allocated by thread T23:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T23 'Thread (pooled)' (tid=1303113, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004fe6c0 by thread T54:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27adf9)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2f8236)
    #3 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:606 (libQt5Core.so.5+0x2f8236)

  Previous write of size 8 at 0x7b08004fe6c0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T54 'QThread' (tid=1303426, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b04000314a8 by thread T46:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000314a8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000314a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303435, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c0016c380 by thread T14:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c0016c380 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1550 (libQt5Core.so.5+0x2d158b)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T14 'QThread' (tid=1303428, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c0016c310 by thread T48:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c0016c310 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1550 (libQt5Core.so.5+0x2d158b)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T48 'QThread' (tid=1303430, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000018f40 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000018f40 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0400086498 by thread T24:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0400086498 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b0400086490 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303425, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080052a338 by thread T24:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080052a338 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080052a320 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303425, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c0016bf90 by thread T45:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c0016bf90 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1550 (libQt5Core.so.5+0x2d158b)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T45 'QThread' (tid=1303436, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c00425370 by thread T6:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QArrayData::deallocate(QArrayData*, unsigned long, unsigned long) tools/qarraydata.cpp:267 (libQt5Core.so.5+0xc61b9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c00425370 by thread T23:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T23 'Thread (pooled)' (tid=1303113, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qarraydata.cpp:267 in QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c0016c3f0 by thread T54:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c0016c3f0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1550 (libQt5Core.so.5+0x2d158b)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T54 'QThread' (tid=1303426, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080050ea60 by thread T46:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080050ea60 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080050ea60 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303435, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000018f58 by thread T19:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000018f58 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T19 'QThread' (tid=1303463, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::onLoadBuiltinTypes(QmlJS::ModelManagerInterface::ProjectInfo const&, bool) ../../src/libs/qmljs/qmljsplugindumper.cpp:108 (libQmlJS.so.7+0x1fdd5a)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:71 (libQmlJS.so.7+0x1fde70)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fde70)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fde70)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fde70)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #9 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #10 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:595 (libQmlJS.so.7+0x1d948a)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #16 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #21 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #24 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0400031580 by thread T57:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0400031580 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b0400031580 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303433, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080052a320 by thread T24:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080052a320 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080052a320 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303425, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b2000271018 by thread T54:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Previous write of size 8 at 0x7b2000271018 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 120 at 0x7b2000271000 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T54 'QThread' (tid=1303426, running) created by thread T23 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b04000314a0 by thread T46:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b04000314a0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b04000314a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303435, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000018fb8 by thread T38:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000018fb8 by thread T19:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T38 'Thread (pooled)' (tid=1303157, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T19 'QThread' (tid=1303463, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::onLoadBuiltinTypes(QmlJS::ModelManagerInterface::ProjectInfo const&, bool) ../../src/libs/qmljs/qmljsplugindumper.cpp:108 (libQmlJS.so.7+0x1fdd5a)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:71 (libQmlJS.so.7+0x1fde70)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fde70)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fde70)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fde70)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #9 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #10 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:595 (libQmlJS.so.7+0x1d948a)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #16 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #21 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #24 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080056fd40 by thread T57:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27adf9)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2f8236)
    #3 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:606 (libQt5Core.so.5+0x2f8236)

  Previous write of size 8 at 0x7b080056fd40 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303433, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0400086490 by thread T24:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0400086490 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b0400086490 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T24 'QThread' (tid=1303425, running) created by thread T31 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00442698 by thread T6:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x2cd16d)
    #3 QVector<QPostEvent>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x2cd16d)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c00442698 by thread T36:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c00442680 allocated by thread T36:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T36 'Thread (pooled)' (tid=1303116, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080053f8e0 by thread T46:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27adf9)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2f8236)
    #3 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:606 (libQt5Core.so.5+0x2f8236)

  Previous write of size 8 at 0x7b080053f8e0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303435, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000018fe8 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000018fe8 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0049f724 by thread T61:
    #0 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a40)
    #1 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a40)
    #2 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c0049f724 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::createNode(unsigned int, QString const&, QmlJS::LibraryInfo const&, QHashNode<QString, QmlJS::LibraryInfo>**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16700a)
    #1 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x16700a)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x16700a)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0049f710 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 QmlJS::PluginDumper::onLoadBuiltinTypes(QmlJS::ModelManagerInterface::ProjectInfo const&, bool) ../../src/libs/qmljs/qmljsplugindumper.cpp:103 (libQmlJS.so.7+0x1fdbc9)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:71 (libQmlJS.so.7+0x1fde70)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fde70)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fde70)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fde70)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2d1577)
    #9 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1542 (libQt5Core.so.5+0x2d1577)
    #10 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:595 (libQmlJS.so.7+0x1d948a)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #14 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #16 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #21 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #23 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #24 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c0016c1c0 by thread T57:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c0016c1c0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1550 (libQt5Core.so.5+0x2d158b)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303433, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c00442680 by thread T6:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QArrayData::deallocate(QArrayData*, unsigned long, unsigned long) tools/qarraydata.cpp:267 (libQt5Core.so.5+0xc61b9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c00442680 by thread T36:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T36 'Thread (pooled)' (tid=1303116, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qarraydata.cpp:267 in QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c0016c150 by thread T46:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c0016c150 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1550 (libQt5Core.so.5+0x2d158b)
    #2 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T46 'QThread' (tid=1303435, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019000 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #5 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #6 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #7 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #8 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #9 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #10 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #11 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #18 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #20 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #21 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #25 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #26 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #27 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #28 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000019000 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b5c00014cd0 by thread T55:
    #0 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:977 (libQmlJS.so.7+0x18f3e8)
    #1 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b5c00014cd0 by thread T61:
    #0 QMap<QmlJS::ImportKey, QStringList>::QMap(QMap<QmlJS::ImportKey, QStringList> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:628 (libQmlJS.so.7+0x154418)
    #1 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x154418)
    #2 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154418)
    #3 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 840 at 0x7b5c00014c80 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QmlJSTools::Internal::QmlJSToolsPlugin::initialize(QStringList const&, QString*) ../../src/plugins/qmljstools/qmljstoolsplugin.cpp:77 (libQmlJSTools.so+0x6de30)
    #2 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #3 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #4 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #5 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #6 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:977 in QMap<QmlJS::ImportKey, QStringList>::detach_helper()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d0838 by thread T64:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d0838 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d0820 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303470, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047c5b8 by thread T64:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c5b8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c5b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303470, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019048 by thread T53:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000019048 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #5 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #6 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #7 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #8 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #9 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #10 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #11 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #15 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #18 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #20 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #21 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #25 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #26 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #27 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #28 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #31 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T53 'Thread (pooled)' (tid=1303130, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b5c00014cc8 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154397)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154397)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b5c00014cc8 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:634 (libQmlJS.so.7+0x16708b)
    #1 QHash<QString, QmlJS::LibraryInfo>::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x16708b)
    #2 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x16708b)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x16708b)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 840 at 0x7b5c00014c80 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QmlJSTools::Internal::QmlJSToolsPlugin::initialize(QStringList const&, QString*) ../../src/plugins/qmljstools/qmljstoolsplugin.cpp:77 (libQmlJSTools.so+0x6de30)
    #2 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #3 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #4 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #5 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #6 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047c5c0 by thread T64:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c5c0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c5b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303470, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019150 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #11 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #18 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #19 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #21 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #22 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #26 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #27 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #28 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #29 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000019150 by thread T49:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T49 'Thread (pooled)' (tid=1303131, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c004b8860 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543b5)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543b5)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543b5)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543b5)
    #5 QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x1543b5)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543b5)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c004b8860 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c004b8850 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047c5c8 by thread T64:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c5c8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c5b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303470, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080052e7ec by thread T33:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x3188da)
    #1 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x3188da)
    #2 Utils::Internal::QtcProcessPrivate::shouldFlush() const ../../src/libs/utils/qtcprocess.cpp:660 (libUtils.so.7+0x3188da)
    #3 Utils::Internal::ProcessInterfaceHandler::doWaitForSignal(QDeadlineTimer) ../../src/libs/utils/qtcprocess.cpp:744 (libUtils.so.7+0x3188da)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:719 (libUtils.so.7+0x324221)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b080052e7e8 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b080052e7e0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T33 'Thread (pooled)' (tid=1303114, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'QThread' (tid=1303479, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 in QListData::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019180 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000019180 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::FutureProgressPrivate::FutureProgressPrivate(Core::FutureProgress*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:76 (libCore.so+0x43fb04)
    #5 Core::FutureProgress::FutureProgress(QWidget*) ../../src/plugins/coreplugin/progressmanager/futureprogress.cpp:126 (libCore.so+0x43fcd6)
    #6 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:408 (libCore.so+0x447c2a)
    #7 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #8 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #9 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #10 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #11 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #13 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #18 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #19 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #20 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #21 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #23 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #24 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #28 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #29 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #30 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #31 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #33 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #34 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c004b8878 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x1543d6)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543d6)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c004b8878 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c004b8850 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080056e6ec by thread T25:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x3188da)
    #1 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x3188da)
    #2 Utils::Internal::QtcProcessPrivate::shouldFlush() const ../../src/libs/utils/qtcprocess.cpp:660 (libUtils.so.7+0x3188da)
    #3 Utils::Internal::ProcessInterfaceHandler::doWaitForSignal(QDeadlineTimer) ../../src/libs/utils/qtcprocess.cpp:744 (libUtils.so.7+0x3188da)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:719 (libUtils.so.7+0x324221)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b080056e6e8 by thread T27:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b080056e6e0 allocated by thread T27:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T27 'QThread' (tid=1303486, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 in QListData::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047c5d0 by thread T64:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047c5d0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047c5b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303470, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080052e7f0 by thread T33:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x323cc7)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cc7)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cc7)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cc7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b080052e7f0 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b080052e7e0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T33 'Thread (pooled)' (tid=1303114, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'QThread' (tid=1303479, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bce8 by thread T33:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/qtcprocess.cpp:807 (libUtils.so.7+0x323cd3)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cd3)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cd3)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cd3)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c0047bce8 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c0047bce0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T33 'Thread (pooled)' (tid=1303114, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'QThread' (tid=1303479, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/qtcprocess.cpp:807 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080052e7e0 by thread T33:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x3292ce)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x3292ce)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x3292ce)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x3292ce)
    #5 QList<Utils::Internal::ProcessInterfaceSignal*>::QList(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x3292ce)
    #6 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x323f4c)
    #7 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:818 (libUtils.so.7+0x323f4c)
    #8 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #9 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #10 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #11 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #12 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #13 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #15 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b080052e7e0 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b080052e7e0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T33 'Thread (pooled)' (tid=1303114, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'QThread' (tid=1303479, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080056e6f0 by thread T25:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x323cc7)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cc7)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cc7)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cc7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b080056e6f0 by thread T27:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b080056e6e0 allocated by thread T27:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::append(Utils::Internal::ProcessInterfaceSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x329611)
    #3 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:902 (libUtils.so.7+0x3234e8)
    #4 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #5 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #12 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #17 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #18 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #23 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T27 'QThread' (tid=1303486, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b1000367040 by thread T64:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b1000367040 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b1000367040 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303470, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000191b0 by thread T23:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc0000191b0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T23 'Thread (pooled)' (tid=1303113, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c004b8880 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543fb)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543fb)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543fb)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543fb)
    #5 QMap<QmlJS::ImportKey, QStringList>::QMap(QMap<QmlJS::ImportKey, QStringList> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x1543fb)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x1543fb)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543fb)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c004b8880 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c004b8880 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bcf0 by thread T33:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd50)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd50)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd50)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c0047bcf0 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c0047bce0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T33 'Thread (pooled)' (tid=1303114, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'QThread' (tid=1303479, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c004dd220 by thread T25:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd50)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd50)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd50)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c004dd220 by thread T27:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c004dd210 allocated by thread T27:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T27 'QThread' (tid=1303486, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c004b86d0 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154443)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154443)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154443)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154443)
    #5 QMap<QString, QmlJS::CoreImport>::QMap(QMap<QString, QmlJS::CoreImport> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x154443)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x154443)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154443)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c004b86d0 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c004b86d0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019510 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:410 (libCore.so+0x447c66)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #11 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #18 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #19 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #21 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #22 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #26 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #27 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #28 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #29 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000019510 by thread T31:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T31 'Thread (pooled)' (tid=1303119, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047bcf8 by thread T33:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd85)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd85)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd85)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c0047bcf8 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c0047bce0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T33 'Thread (pooled)' (tid=1303114, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'QThread' (tid=1303479, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c004dd228 by thread T25:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fd85)
    #1 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fd85)
    #2 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fd85)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c004dd228 by thread T27:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c004dd210 allocated by thread T27:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T27 'QThread' (tid=1303486, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c004dd230 by thread T25:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x31fda1)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fda1)
    #2 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fda1)
    #3 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fda1)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #8 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #9 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #11 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #12 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #13 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c004dd230 by thread T27:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c004dd210 allocated by thread T27:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T27 'QThread' (tid=1303486, running) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c004b8870 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x162a54)
    #1 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a54)
    #2 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a54)
    #3 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c004b8870 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c004b8850 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003e7758 by thread T61:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x154014)
    #1 QMapData<QString, QmlJS::CoreImport>::createNode(QString const&, QmlJS::CoreImport const&, QMapNode<QString, QmlJS::CoreImport>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x154014)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x154014)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003e7758 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003e7740 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047bd00 by thread T33:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x31fda1)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x31fda1)
    #2 Utils::Internal::DoneSignal::resultData() const ../../src/libs/utils/qtcprocess.cpp:544 (libUtils.so.7+0x31fda1)
    #3 Utils::Internal::QtcProcessPrivate::handleDoneSignal(Utils::Internal::DoneSignal const*) ../../src/libs/utils/qtcprocess.cpp:1855 (libUtils.so.7+0x31fda1)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:844 (libUtils.so.7+0x3240b7)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #8 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #9 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #11 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #12 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #13 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c0047bd00 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 40 at 0x7b0c0047bce0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323ae7)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T33 'Thread (pooled)' (tid=1303114, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'QThread' (tid=1303479, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019738 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:410 (libCore.so+0x447c66)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #11 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #18 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #19 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #21 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #22 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #26 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #27 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #28 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #29 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000019738 by thread T56:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T56 'Thread (pooled)' (tid=1303126, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c004b8858 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x16996d)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c004b8858 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c004b8850 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c004d9e00 by thread T55:
    #0 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dea3)
    #1 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c004d9e00 by thread T61:
    #0 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e819)
    #1 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #2 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c004d9df0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800558610 by thread T42:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800558610 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800558600 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T42 'QThread' (tid=1303503, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b240034d9f8 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x169984)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b240034d9f8 by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 136 at 0x7b240034d9d0 allocated by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003d41cc by thread T21:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003d41c8 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003d41c0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1303495, running) created by thread T63 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003dac50 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003dac50 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003dac40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019870 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:412 (libCore.so+0x447cc4)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #11 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #18 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #19 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #21 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #22 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #26 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #27 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #28 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #29 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000019870 by thread T33:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T33 'Thread (pooled)' (tid=1303114, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800519588 by thread T26:
    #0 transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/qtcprocess.cpp:807 (libUtils.so.7+0x323cd3)
    #1 transform<QList, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x323cd3)
    #2 transform<QList, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)>, Utils::Internal::ProcessInterfaceSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x323cd3)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:808 (libUtils.so.7+0x323cd3)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #7 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #11 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #12 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #13 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #15 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0800519588 by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x3239da)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Location is heap block of size 32 at 0x7b0800519580 allocated by thread T9:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x3239da)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #6 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #8 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #9 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #13 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #14 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T9 'QThread' (tid=1303493, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/qtcprocess.cpp:807 in transform<QList<Utils::Internal::SignalType>, const QList<Utils::Internal::ProcessInterfaceSignal*>&, Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType)::<lambda(const Utils::Internal::ProcessInterfaceSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800558618 by thread T42:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800558618 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800558600 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T42 'QThread' (tid=1303503, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003d41d0 by thread T21:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003d41d0 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003d41c0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1303495, running) created by thread T63 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003c6150 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003c6150 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #3 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #4 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003c6140 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019888 by thread T59:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000019888 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Core::Internal::ProgressManagerPrivate::doAddTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:412 (libCore.so+0x447cc4)
    #5 Core::ProgressManager::addTask(QFuture<void> const&, QString const&, Utils::Id, QFlags<Core::ProgressManager::ProgressFlag>) ../../src/plugins/coreplugin/progressmanager/progressmanager.cpp:729 (libCore.so+0x448467)
    #6 QmlJSTools::Internal::ModelManager::addTaskInternal(QFuture<void> const&, QString const&, char const*) const ../../src/plugins/qmljstools/qmljsmodelmanager.cpp:320 (libQmlJSTools.so+0x55fbb)
    #7 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:350 (libQmlJS.so.7+0x1d8686)
    #8 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #9 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #11 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #16 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #17 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #18 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #19 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #21 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #22 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #25 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #26 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #27 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #28 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #29 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #32 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T59 'Thread (pooled)' (tid=1303128, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019890 by thread T59:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000019890 by main thread:
    [failed to restore the stack]

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T59 'Thread (pooled)' (tid=1303128, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0400082a48 by thread T42:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0400082a48 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b0400082a40 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T42 'QThread' (tid=1303503, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003d41c0 by thread T21:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003d41c0 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003d41c0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1303495, running) created by thread T63 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0045a818 by thread T6:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x2cd16d)
    #3 QVector<QPostEvent>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x2cd16d)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c0045a818 by thread T56:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c0045a800 allocated by thread T56:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T56 'Thread (pooled)' (tid=1303126, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003dabd0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003dabd0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003dabc0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800487aa0 by thread T26:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QListData::dispose(QListData::Data*) tools/qlist.cpp:180 (libQt5Core.so.5+0xf5d3f)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x323ed4)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323ed4)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #7 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #11 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #12 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #13 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #15 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous atomic read of size 4 at 0x7b0800487aa0 by thread T9:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x32348a)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x32348a)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x32348a)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libUtils.so.7+0x32348a)
    #5 QList<Utils::Internal::ProcessInterfaceSignal*>::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libUtils.so.7+0x32348a)
    #6 QList<Utils::Internal::ProcessInterfaceSignal*>::end() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:342 (libUtils.so.7+0x32348a)
    #7 QList<Utils::Internal::ProcessInterfaceSignal*>::last() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:364 (libUtils.so.7+0x32348a)
    #8 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:886 (libUtils.so.7+0x32348a)
    #9 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #10 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #17 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #18 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #22 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #23 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T9 'QThread' (tid=1303493, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:180 in QListData::dispose(QListData::Data*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800506b00 by thread T43:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QListData::dispose(QListData::Data*) tools/qlist.cpp:180 (libQt5Core.so.5+0xf5d3f)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x323ed4)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323ed4)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #7 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #11 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #12 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #13 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #15 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous atomic read of size 4 at 0x7b0800506b00 by thread T45:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x32348a)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x32348a)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x32348a)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libUtils.so.7+0x32348a)
    #5 QList<Utils::Internal::ProcessInterfaceSignal*>::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libUtils.so.7+0x32348a)
    #6 QList<Utils::Internal::ProcessInterfaceSignal*>::end() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:342 (libUtils.so.7+0x32348a)
    #7 QList<Utils::Internal::ProcessInterfaceSignal*>::last() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:364 (libUtils.so.7+0x32348a)
    #8 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:886 (libUtils.so.7+0x32348a)
    #9 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #10 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #17 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #18 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #22 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #23 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T43 'Thread (pooled)' (tid=1303133, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T45 'QThread' (tid=1303515, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:180 in QListData::dispose(QListData::Data*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0400082a40 by thread T42:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0400082a40 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b0400082a40 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T42 'QThread' (tid=1303503, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c0045a800 by thread T6:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QArrayData::deallocate(QArrayData*, unsigned long, unsigned long) tools/qarraydata.cpp:267 (libQt5Core.so.5+0xc61b9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b0c0045a800 by thread T56:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T56 'Thread (pooled)' (tid=1303126, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qarraydata.cpp:267 in QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003dab10 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003dab10 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003dab00 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800487aa8 by thread T26:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QListData::dispose(QListData::Data*) tools/qlist.cpp:180 (libQt5Core.so.5+0xf5d3f)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x323ed4)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323ed4)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #7 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #11 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #12 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #13 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #15 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 4 at 0x7b0800487aa8 by thread T9:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x32347a)
    #1 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32347a)
    #2 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32347a)
    #3 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #4 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #11 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #12 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #16 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #17 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #22 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T9 'QThread' (tid=1303493, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:180 in QListData::dispose(QListData::Data*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800506b08 by thread T43:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QListData::dispose(QListData::Data*) tools/qlist.cpp:180 (libQt5Core.so.5+0xf5d3f)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x323ed4)
    #3 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323ed4)
    #4 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #5 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #6 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #7 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #11 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #12 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #13 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #15 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 4 at 0x7b0800506b0c by thread T45:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x32346d)
    #1 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32346d)
    #2 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32346d)
    #3 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #4 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #11 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #12 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #16 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #17 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #22 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T43 'Thread (pooled)' (tid=1303133, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T45 'QThread' (tid=1303515, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:180 in QListData::dispose(QListData::Data*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800515948 by thread T43:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 Utils::Internal::StartedSignal::~StartedSignal() ../../src/libs/utils/qtcprocess.cpp:506 (libUtils.so.7+0x32518e)
    #2 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:847 (libUtils.so.7+0x32407c)
    #3 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #4 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #11 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #12 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #13 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #14 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #15 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 4 at 0x7b0800515948 by thread T45:
    #0 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:888 (libUtils.so.7+0x3234cb)
    #1 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #2 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #4 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #5 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #9 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #10 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #14 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #15 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #20 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T43 'Thread (pooled)' (tid=1303133, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T45 'QThread' (tid=1303515, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080056e438 by thread T19:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080056e438 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080056e420 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T19 'QThread' (tid=1303516, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003ce6d0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003ce6d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003ce6c0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019b40 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CMakeProjectManager::Internal::CMakeBuildSettingsWidget::*)()>::call(void (CMakeProjectManager::Internal::CMakeBuildSettingsWidget::*)(), CMakeProjectManager::Internal::CMakeBuildSettingsWidget*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0x82697)
    #5 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSettingsWidget::*)()>::call<QtPrivate::List<>, void>(void (CMakeProjectManager::Internal::CMakeBuildSettingsWidget::*)(), CMakeProjectManager::Internal::CMakeBuildSettingsWidget*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0x82697)
    #6 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSettingsWidget::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0x82697)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 CMakeProjectManager::Internal::ConfigModel::generateTree() ../../src/plugins/cmakeprojectmanager/configmodel.cpp:532 (libCMakeProjectManager.so+0x169b73)
    #10 CMakeProjectManager::Internal::ConfigModel::setConfiguration(QList<CMakeProjectManager::Internal::ConfigModel::InternalDataItem> const&) ../../src/plugins/cmakeprojectmanager/configmodel.cpp:504 (libCMakeProjectManager.so+0x16b9c8)
    #11 CMakeProjectManager::Internal::ConfigModel::setConfiguration(QList<CMakeProjectManager::Internal::ConfigModel::DataItem> const&) ../../src/plugins/cmakeprojectmanager/configmodel.cpp:196 (libCMakeProjectManager.so+0x16d4ac)
    #12 CMakeProjectManager::Internal::ConfigModel::setConfiguration(CMakeProjectManager::CMakeConfig const&) ../../src/plugins/cmakeprojectmanager/configmodel.cpp:393 (libCMakeProjectManager.so+0x1707dd)
    #13 operator() ../../src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp:381 (libCMakeProjectManager.so+0x7bbc6)
    #14 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x7bbc6)
    #15 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x7bbc6)
    #16 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x7bbc6)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 ProjectExplorer::BuildSystem::emitParsingFinished(bool) ../../src/plugins/projectexplorer/buildsystem.cpp:132 (libProjectExplorer.so+0x2376e3)
    #20 ProjectExplorer::BuildSystem::ParseGuard::release() ../../src/plugins/projectexplorer/buildsystem.cpp:290 (libProjectExplorer.so+0x237e3b)
    #21 ProjectExplorer::BuildSystem::ParseGuard::operator=(ProjectExplorer::BuildSystem::ParseGuard&&) ../../src/plugins/projectexplorer/buildsystem.cpp:296 (libProjectExplorer.so+0x237e8f)
    #22 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:525 (libCMakeProjectManager.so+0xa2ded)
    #23 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #25 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #26 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #29 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #30 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #31 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #32 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #33 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #34 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #35 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #36 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000019b40 by thread T49:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T49 'Thread (pooled)' (tid=1303131, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08003fd3c8 by thread T26:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 Utils::Internal::StartedSignal::~StartedSignal() ../../src/libs/utils/qtcprocess.cpp:506 (libUtils.so.7+0x32518e)
    #2 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:847 (libUtils.so.7+0x32407c)
    #3 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #4 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #11 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #12 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #13 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #14 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #15 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 4 at 0x7b08003fd3c8 by thread T9:
    #0 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:888 (libUtils.so.7+0x3234cb)
    #1 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #2 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #4 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #5 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #9 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #10 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #14 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #15 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #20 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T9 'QThread' (tid=1303493, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080040d26c by thread T9:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x32346d)
    #1 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32346d)
    #2 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32346d)
    #3 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #4 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #11 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #16 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #17 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #22 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080040d268 by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 24 at 0x7b080040d260 allocated by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T9 'QThread' (tid=1303493, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 in QListData::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004dce4c by thread T45:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libUtils.so.7+0x32346d)
    #1 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32346d)
    #2 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32346d)
    #3 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #4 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #11 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #12 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #16 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #17 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #22 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004dce48 by thread T43:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 24 at 0x7b08004dce40 allocated by thread T43:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T45 'QThread' (tid=1303515, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T43 'Thread (pooled)' (tid=1303133, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 in QListData::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080050932c by thread T19:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800509328 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800509320 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T19 'QThread' (tid=1303516, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c004b8980 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x163a1b)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x163a1b)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x163a1b)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x163a1b)
    #5 QHash<QString, QmlJS::LibraryInfo>::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x163a1b)
    #6 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x163a1b)
    #7 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a1b)
    #8 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #9 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #10 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c004b8980 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c004b8970 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019b58 by thread T32:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc000019b58 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #5 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #6 CMakeProjectManager::Internal::ConfigModel::generateTree() ../../src/plugins/cmakeprojectmanager/configmodel.cpp:532 (libCMakeProjectManager.so+0x169b73)
    #7 CMakeProjectManager::Internal::ConfigModel::setConfiguration(QList<CMakeProjectManager::Internal::ConfigModel::InternalDataItem> const&) ../../src/plugins/cmakeprojectmanager/configmodel.cpp:504 (libCMakeProjectManager.so+0x16b9c8)
    #8 CMakeProjectManager::Internal::ConfigModel::setConfiguration(QList<CMakeProjectManager::Internal::ConfigModel::DataItem> const&) ../../src/plugins/cmakeprojectmanager/configmodel.cpp:196 (libCMakeProjectManager.so+0x16d4ac)
    #9 CMakeProjectManager::Internal::ConfigModel::setConfiguration(CMakeProjectManager::CMakeConfig const&) ../../src/plugins/cmakeprojectmanager/configmodel.cpp:393 (libCMakeProjectManager.so+0x1707dd)
    #10 operator() ../../src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp:381 (libCMakeProjectManager.so+0x7bbc6)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x7bbc6)
    #12 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x7bbc6)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x7bbc6)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 ProjectExplorer::BuildSystem::emitParsingFinished(bool) ../../src/plugins/projectexplorer/buildsystem.cpp:132 (libProjectExplorer.so+0x2376e3)
    #17 ProjectExplorer::BuildSystem::ParseGuard::release() ../../src/plugins/projectexplorer/buildsystem.cpp:290 (libProjectExplorer.so+0x237e3b)
    #18 ProjectExplorer::BuildSystem::ParseGuard::operator=(ProjectExplorer::BuildSystem::ParseGuard&&) ../../src/plugins/projectexplorer/buildsystem.cpp:296 (libProjectExplorer.so+0x237e8f)
    #19 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:525 (libCMakeProjectManager.so+0xa2ded)
    #20 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #22 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #23 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #27 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #28 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #29 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #30 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #31 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #32 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #33 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T32 'Thread (pooled)' (tid=1303112, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080051d6f0 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27af19)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #6 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #7 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #8 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #9 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #10 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #11 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #12 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #13 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #14 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #15 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1751 (libUtils.so.7+0x324c23)
    #16 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #17 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #18 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #19 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #20 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #21 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #22 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #23 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #24 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #25 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #26 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #27 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #28 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #29 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #30 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #31 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #32 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #33 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #34 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #35 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b080051d6f0 by thread T6:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27aec0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080051d6f8 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27af19)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #6 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #7 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #8 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #9 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #10 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #11 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #12 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #13 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #14 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #15 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1751 (libUtils.so.7+0x324c23)
    #16 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #17 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #18 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #19 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #20 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #21 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #22 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #23 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #24 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #25 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #26 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #27 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #28 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #29 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #30 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #31 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #32 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #33 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #34 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #35 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b080051d6f8 by thread T6:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27aecd)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08004dce40 by thread T45:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x32348a)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x32348a)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x32348a)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libUtils.so.7+0x32348a)
    #5 QList<Utils::Internal::ProcessInterfaceSignal*>::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libUtils.so.7+0x32348a)
    #6 QList<Utils::Internal::ProcessInterfaceSignal*>::end() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:342 (libUtils.so.7+0x32348a)
    #7 QList<Utils::Internal::ProcessInterfaceSignal*>::last() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:364 (libUtils.so.7+0x32348a)
    #8 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:886 (libUtils.so.7+0x32348a)
    #9 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #10 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #17 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #18 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #22 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #23 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004dce40 by thread T43:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 24 at 0x7b08004dce40 allocated by thread T43:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T45 'QThread' (tid=1303515, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T43 'Thread (pooled)' (tid=1303133, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800560ab8 by thread T44:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800560ab8 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800560aa0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T44 'QThread' (tid=1303536, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800509330 by thread T19:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800509330 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800509320 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T19 'QThread' (tid=1303516, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c004b8994 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 (libQmlJS.so.7+0x163a41)
    #1 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a41)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a41)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c004b8990 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c004b8970 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000019b70 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000019b70 by thread T32:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T32 'Thread (pooled)' (tid=1303112, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080040d260 by thread T9:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x32348a)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x32348a)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x32348a)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libUtils.so.7+0x32348a)
    #5 QList<Utils::Internal::ProcessInterfaceSignal*>::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libUtils.so.7+0x32348a)
    #6 QList<Utils::Internal::ProcessInterfaceSignal*>::end() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:342 (libUtils.so.7+0x32348a)
    #7 QList<Utils::Internal::ProcessInterfaceSignal*>::last() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:364 (libUtils.so.7+0x32348a)
    #8 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:886 (libUtils.so.7+0x32348a)
    #9 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #10 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #17 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #18 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #22 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #23 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #28 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080040d260 by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 24 at 0x7b080040d260 allocated by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T9 'QThread' (tid=1303493, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08003eb938 by thread T57:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003eb938 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003eb920 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x2787af)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303529, running) created by thread T7 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004dce50 by thread T45:
    #0 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:886 (libUtils.so.7+0x3234bc)
    #1 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #2 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #4 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #9 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #14 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #15 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #20 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004dce50 by thread T43:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 24 at 0x7b08004dce40 allocated by thread T43:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T45 'QThread' (tid=1303515, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T43 'Thread (pooled)' (tid=1303133, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/qtcprocess.cpp:886 in Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004d386c by thread T44:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d3868 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d3860 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T44 'QThread' (tid=1303536, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800509320 by thread T19:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800509320 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800509320 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T19 'QThread' (tid=1303516, running) created by thread T56 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c004b8978 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x16996d)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x163a61)
    #2 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a61)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a61)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c004b8978 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c004b8970 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b240034d968 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x169984)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x163a61)
    #2 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a61)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a61)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b240034d968 by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 136 at 0x7b240034d940 allocated by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080042fc10 by thread T37:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080042fc10 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080042fc00 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303557, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080042fc18 by thread T37:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080042fc18 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080042fc00 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303557, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08004bb3a0 by thread T57:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004bb3a0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004bb3a0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303529, running) created by thread T7 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800511490 by thread T12:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800511490 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800511480 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303559, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d3870 by thread T44:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d3870 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d3860 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T44 'QThread' (tid=1303536, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08004d3860 by thread T44:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d3860 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d3860 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T44 'QThread' (tid=1303536, running) created by thread T53 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080040d270 by thread T9:
    #0 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:886 (libUtils.so.7+0x3234bc)
    #1 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #2 Utils::Internal::ProcessInterfaceHandler::handleDone(Utils::ProcessResultData const&) ../../src/libs/utils/qtcprocess.cpp:765 (libUtils.so.7+0x323b97)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3254d4)
    #4 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3254d4)
    #5 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3254d4)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Utils::ProcessResultData const&>, void, void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325d74)
    #9 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&)>::call<QtPrivate::List<Utils::ProcessResultData const&>, void>(void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325d74)
    #10 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(Utils::ProcessResultData const&), QtPrivate::List<Utils::ProcessResultData const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325d74)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f43)
    #14 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #15 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #20 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080040d270 by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 24 at 0x7b080040d260 allocated by thread T26:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::reserve(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:613 (libUtils.so.7+0x32c516)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::mid(int, int) const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:770 (libUtils.so.7+0x32c516)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323e76)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #13 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #14 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #15 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #16 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T9 'QThread' (tid=1303493, running) created by thread T26 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/qtcprocess.cpp:886 in Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0049f544 by thread T62:
    #0 QHashData::willGrow() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:103 (libQmlJS.so.7+0x166df7)
    #1 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:775 (libQmlJS.so.7+0x166df7)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x166df7)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:696 (libQmlJS.so.7+0x1ca7a1)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c0049f544 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::createNode(unsigned int, QString const&, QmlJS::LibraryInfo const&, QHashNode<QString, QmlJS::LibraryInfo>**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16700a)
    #1 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x16700a)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x16700a)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:696 (libQmlJS.so.7+0x1ca7a1)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0049f530 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:696 (libQmlJS.so.7+0x1ca7a1)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:103 in QHashData::willGrow()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800569f4c by thread T37:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800569f48 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800569f40 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303557, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004535b0 by thread T20:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004535b0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004535a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303558, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004535b8 by thread T20:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004535b8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004535a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303558, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004e1d8c by thread T20:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004e1d88 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004e1d80 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303558, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800511498 by thread T12:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800511498 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800511480 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:499 (libUtils.so.7+0x27a512)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #9 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303559, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10000bea8c by thread T64:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000bea88 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000bea80 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303561, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c004af444 by thread T62:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16003b)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16003b)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c004af444 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::createNode(unsigned int, QString const&, QSharedPointer<QmlJS::Document const> const&, QHashNode<QString, QSharedPointer<QmlJS::Document const> >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16121f)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x16121f)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x16121f)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c004af430 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800569f50 by thread T37:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800569f50 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800569f40 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303557, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004e1d90 by thread T20:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004e1d90 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004e1d80 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303558, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080054678c by thread T12:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800546788 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800546780 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303559, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800546790 by thread T12:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800546790 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800546780 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303559, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a008 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #5 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #6 ProjectExplorer::BuildSystem::emitParsingFinished(bool) ../../src/plugins/projectexplorer/buildsystem.cpp:132 (libProjectExplorer.so+0x2376e3)
    #7 ProjectExplorer::BuildSystem::ParseGuard::release() ../../src/plugins/projectexplorer/buildsystem.cpp:290 (libProjectExplorer.so+0x237e3b)
    #8 ProjectExplorer::BuildSystem::ParseGuard::operator=(ProjectExplorer::BuildSystem::ParseGuard&&) ../../src/plugins/projectexplorer/buildsystem.cpp:296 (libProjectExplorer.so+0x237e8f)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:525 (libCMakeProjectManager.so+0xa2ded)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #12 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #17 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #19 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #20 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc00001a008 by thread T49:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T49 'Thread (pooled)' (tid=1303131, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004faad0 by thread T21:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004faad0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004faac0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1303576, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004faad8 by thread T21:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004faad8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004faac0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:450 (libUtils.so.7+0x2787b7)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1303576, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08004e1d80 by thread T20:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004e1d80 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004e1d80 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T20 'QThread' (tid=1303558, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10000bea90 by thread T64:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000bea90 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000bea80 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303561, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004dc4a8 by thread T64:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004dc4a8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004dc4a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303561, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a020 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc00001a020 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #5 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #6 ProjectExplorer::BuildSystem::emitParsingFinished(bool) ../../src/plugins/projectexplorer/buildsystem.cpp:132 (libProjectExplorer.so+0x2376e3)
    #7 ProjectExplorer::BuildSystem::ParseGuard::release() ../../src/plugins/projectexplorer/buildsystem.cpp:290 (libProjectExplorer.so+0x237e3b)
    #8 ProjectExplorer::BuildSystem::ParseGuard::operator=(ProjectExplorer::BuildSystem::ParseGuard&&) ../../src/plugins/projectexplorer/buildsystem.cpp:296 (libProjectExplorer.so+0x237e8f)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:525 (libCMakeProjectManager.so+0xa2ded)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #12 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #17 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #19 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #20 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800569f40 by thread T37:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800569f40 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800569f40 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303557, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0400082908 by thread T21:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0400082908 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b0400082900 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1303576, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800546780 by thread T12:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800546780 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800546780 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303559, running) created by thread T36 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000bea80 by thread T64:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000bea80 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000bea80 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303561, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a028 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc00001a028 by main thread:
    [failed to restore the stack]

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0400082900 by thread T21:
    #0 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:163 (libUtils.so.7+0x278ce8)
    #1 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #2 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #3 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #4 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #5 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #6 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0400082900 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 16 at 0x7b0400082900 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleStartedPacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:449 (libUtils.so.7+0x278761)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:425 (libUtils.so.7+0x27a932)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1303576, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:163 in Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004dc4b8 by thread T64:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004dc4b8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004dc4a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303561, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a0f8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 ProjectExplorer::BuildSystem::emitParsingFinished(bool) ../../src/plugins/projectexplorer/buildsystem.cpp:133 (libProjectExplorer.so+0x237702)
    #5 ProjectExplorer::BuildSystem::ParseGuard::release() ../../src/plugins/projectexplorer/buildsystem.cpp:290 (libProjectExplorer.so+0x237e3b)
    #6 ProjectExplorer::BuildSystem::ParseGuard::operator=(ProjectExplorer::BuildSystem::ParseGuard&&) ../../src/plugins/projectexplorer/buildsystem.cpp:296 (libProjectExplorer.so+0x237e8f)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:525 (libCMakeProjectManager.so+0xa2ded)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #10 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #15 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #18 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #21 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc00001a0f8 by thread T26:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T26 'Thread (pooled)' (tid=1303117, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b7000052800 by thread T64:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cc8)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cc8)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cc8)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cc8)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cc8)
    #6 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cc8)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cc8)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b7000052800 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 2048 at 0x7b7000052800 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #13 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #14 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303561, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a188 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc00001a188 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004dc4b0 by thread T64:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004dc4b0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004dc4a0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303561, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b28000b0540 by thread T64:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b28000b0540 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 157 at 0x7b28000b0540 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T64 'QThread' (tid=1303561, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a3b0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::ActionContainerPrivate::*)()>::call(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x1270f7)
    #5 void QtPrivate::FunctionPointer<void (Core::Internal::ActionContainerPrivate::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x1270f7)
    #6 QtPrivate::QSlotObject<void (Core::Internal::ActionContainerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x1270f7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::Internal::Action::setActive(bool) ../../src/plugins/coreplugin/actionmanager/command.cpp:422 (libCore.so+0x12e572)
    #10 Core::Internal::Action::updateActiveState() ../../src/plugins/coreplugin/actionmanager/command.cpp:365 (libCore.so+0x12e572)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::Action::*)()>::call(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x131d77)
    #12 void QtPrivate::FunctionPointer<void (Core::Internal::Action::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x131d77)
    #13 QtPrivate::QSlotObject<void (Core::Internal::Action::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x131d77)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::ProxyAction::actionChanged() ../../src/libs/utils/proxyaction.cpp:104 (libUtils.so.7+0x304aa9)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::ProxyAction::*)()>::call(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x304c17)
    #18 void QtPrivate::FunctionPointer<void (Utils::ProxyAction::*)()>::call<QtPrivate::List<>, void>(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x304c17)
    #19 QtPrivate::QSlotObject<void (Utils::ProxyAction::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x304c17)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 ProjectExplorer::ProjectExplorerPlugin::updateActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:4325 (libProjectExplorer.so+0x4d0926)
    #23 operator() ../../src/plugins/projectexplorer/buildconfiguration.cpp:239 (libProjectExplorer.so+0x1fd56a)
    #24 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x1fd56a)
    #25 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x1fd56a)
    #26 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x1fd56a)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::BuildConfiguration::*)()>::call(void (ProjectExplorer::BuildConfiguration::*)(), ProjectExplorer::BuildConfiguration*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x205cd7)
    #30 void QtPrivate::FunctionPointer<void (ProjectExplorer::BuildConfiguration::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::BuildConfiguration::*)(), ProjectExplorer::BuildConfiguration*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x205cd7)
    #31 QtPrivate::QSlotObject<void (ProjectExplorer::BuildConfiguration::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x205cd7)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #33 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #34 ProjectExplorer::BuildSystem::emitParsingFinished(bool) ../../src/plugins/projectexplorer/buildsystem.cpp:133 (libProjectExplorer.so+0x237702)
    #35 ProjectExplorer::BuildSystem::ParseGuard::release() ../../src/plugins/projectexplorer/buildsystem.cpp:290 (libProjectExplorer.so+0x237e3b)
    #36 ProjectExplorer::BuildSystem::ParseGuard::operator=(ProjectExplorer::BuildSystem::ParseGuard&&) ../../src/plugins/projectexplorer/buildsystem.cpp:296 (libProjectExplorer.so+0x237e8f)
    #37 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:525 (libCMakeProjectManager.so+0xa2ded)
    #38 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #39 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #40 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #41 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #42 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #43 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #44 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #45 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #46 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #47 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #48 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #49 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #50 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #51 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc00001a3b0 by thread T63:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50001840c8 by thread T64:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50001840c8 by thread T67:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323eb3)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x323eb3)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::swap(QList<Utils::Internal::ProcessInterfaceSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x323eb3)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x323eb3)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323eb3)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #13 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #14 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #15 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #16 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #17 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #18 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #19 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #20 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #21 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #22 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #23 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #24 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #25 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #26 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #27 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #28 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #29 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #30 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #31 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #32 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 472 at 0x7b5000184000 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:142 (libProjectExplorer.so+0x36ce2e)
    #3 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #4 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #5 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #7 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #8 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #9 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #10 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #11 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #13 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #15 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #16 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #17 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #18 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #19 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T64 'QThread' (tid=1303561, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a4d0 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc00001a4d0 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 std::function<bool (double)>::operator()(double) const /usr/include/c++/9/bits/std_function.h:688 (libQmlJS.so.7+0x1d9c40)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:929 (libQmlJS.so.7+0x1d9c40)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b5000184218 by thread T64:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Previous write of size 8 at 0x7b5000184218 by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 504 at 0x7b5000184200 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T64 'QThread' (tid=1303561, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a4e8 by thread T43:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc00001a4e8 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T43 'Thread (pooled)' (tid=1303133, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c00229158 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x1523aa)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c00229158 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c00229150 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080052d3f0 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #13 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #14 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #16 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #17 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #18 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #19 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #20 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #21 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #22 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #23 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #24 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #25 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #26 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #27 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #28 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #29 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #30 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b080052d3f0 by thread T64:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T64 'QThread' (tid=1303561, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c00229160 by thread T62:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x1523d3)
    #1 QHashNode<QString, QmlJS::LibraryInfo>::QHashNode(QString const&, QmlJS::LibraryInfo const&, unsigned int, QHashNode<QString, QmlJS::LibraryInfo>*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x1523d3)
    #2 QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x1523d3)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c00229160 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c00229150 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a758 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::ActionContainerPrivate::*)()>::call(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x1270f7)
    #5 void QtPrivate::FunctionPointer<void (Core::Internal::ActionContainerPrivate::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x1270f7)
    #6 QtPrivate::QSlotObject<void (Core::Internal::ActionContainerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x1270f7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::Internal::Action::setActive(bool) ../../src/plugins/coreplugin/actionmanager/command.cpp:422 (libCore.so+0x12e572)
    #10 Core::Internal::Action::updateActiveState() ../../src/plugins/coreplugin/actionmanager/command.cpp:365 (libCore.so+0x12e572)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::Action::*)()>::call(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x131d77)
    #12 void QtPrivate::FunctionPointer<void (Core::Internal::Action::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x131d77)
    #13 QtPrivate::QSlotObject<void (Core::Internal::Action::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x131d77)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::ProxyAction::actionChanged() ../../src/libs/utils/proxyaction.cpp:104 (libUtils.so.7+0x304aa9)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::ProxyAction::*)()>::call(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x304c17)
    #18 void QtPrivate::FunctionPointer<void (Utils::ProxyAction::*)()>::call<QtPrivate::List<>, void>(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x304c17)
    #19 QtPrivate::QSlotObject<void (Utils::ProxyAction::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x304c17)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Debugger::Internal::DebuggerPluginPrivate::*)()>::call(void (Debugger::Internal::DebuggerPluginPrivate::*)(), Debugger::Internal::DebuggerPluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libDebugger.so+0x1f2ca7)
    #23 void QtPrivate::FunctionPointer<void (Debugger::Internal::DebuggerPluginPrivate::*)()>::call<QtPrivate::List<>, void>(void (Debugger::Internal::DebuggerPluginPrivate::*)(), Debugger::Internal::DebuggerPluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libDebugger.so+0x1f2ca7)
    #24 QtPrivate::QSlotObject<void (Debugger::Internal::DebuggerPluginPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libDebugger.so+0x1f2ca7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 ProjectExplorer::ProjectExplorerPluginPrivate::doUpdateRunActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:3412 (libProjectExplorer.so+0x4ce8ca)
    #28 ProjectExplorer::ProjectExplorerPluginPrivate::updateDeployActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:3329 (libProjectExplorer.so+0x4cf021)
    #29 ProjectExplorer::ProjectExplorerPluginPrivate::updateActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:2962 (libProjectExplorer.so+0x4d03bc)
    #30 ProjectExplorer::ProjectExplorerPlugin::updateActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:4325 (libProjectExplorer.so+0x4d0926)
    #31 operator() ../../src/plugins/projectexplorer/buildconfiguration.cpp:239 (libProjectExplorer.so+0x1fd56a)
    #32 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x1fd56a)
    #33 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x1fd56a)
    #34 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x1fd56a)
    #35 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #36 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #37 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::BuildConfiguration::*)()>::call(void (ProjectExplorer::BuildConfiguration::*)(), ProjectExplorer::BuildConfiguration*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x205cd7)
    #38 void QtPrivate::FunctionPointer<void (ProjectExplorer::BuildConfiguration::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::BuildConfiguration::*)(), ProjectExplorer::BuildConfiguration*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x205cd7)
    #39 QtPrivate::QSlotObject<void (ProjectExplorer::BuildConfiguration::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x205cd7)
    #40 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #41 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #42 ProjectExplorer::BuildSystem::emitParsingFinished(bool) ../../src/plugins/projectexplorer/buildsystem.cpp:133 (libProjectExplorer.so+0x237702)
    #43 ProjectExplorer::BuildSystem::ParseGuard::release() ../../src/plugins/projectexplorer/buildsystem.cpp:290 (libProjectExplorer.so+0x237e3b)
    #44 ProjectExplorer::BuildSystem::ParseGuard::operator=(ProjectExplorer::BuildSystem::ParseGuard&&) ../../src/plugins/projectexplorer/buildsystem.cpp:296 (libProjectExplorer.so+0x237e8f)
    #45 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:525 (libCMakeProjectManager.so+0xa2ded)
    #46 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #47 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #48 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #49 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #50 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #51 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #52 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #53 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #54 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #55 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #56 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #57 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #58 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #59 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc00001a758 by thread T25:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b2c0037b2c0 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1523f6)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1523f6)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1523f6)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1523f6)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libQmlJS.so.7+0x1523f6)
    #6 QHashNode<QString, QmlJS::LibraryInfo>::QHashNode(QString const&, QmlJS::LibraryInfo const&, unsigned int, QHashNode<QString, QmlJS::LibraryInfo>*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x1523f6)
    #7 QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x1523f6)
    #8 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #9 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #10 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #11 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b2c0037b2c0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #3 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #4 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #7 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 164 at 0x7b2c0037b2c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #3 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #4 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #7 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a770 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc00001a770 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::ActionContainerPrivate::*)()>::call(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x1270f7)
    #5 void QtPrivate::FunctionPointer<void (Core::Internal::ActionContainerPrivate::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x1270f7)
    #6 QtPrivate::QSlotObject<void (Core::Internal::ActionContainerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x1270f7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::Internal::Action::setActive(bool) ../../src/plugins/coreplugin/actionmanager/command.cpp:422 (libCore.so+0x12e572)
    #10 Core::Internal::Action::updateActiveState() ../../src/plugins/coreplugin/actionmanager/command.cpp:365 (libCore.so+0x12e572)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::Action::*)()>::call(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x131d77)
    #12 void QtPrivate::FunctionPointer<void (Core::Internal::Action::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x131d77)
    #13 QtPrivate::QSlotObject<void (Core::Internal::Action::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x131d77)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::ProxyAction::actionChanged() ../../src/libs/utils/proxyaction.cpp:104 (libUtils.so.7+0x304aa9)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::ProxyAction::*)()>::call(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x304c17)
    #18 void QtPrivate::FunctionPointer<void (Utils::ProxyAction::*)()>::call<QtPrivate::List<>, void>(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x304c17)
    #19 QtPrivate::QSlotObject<void (Utils::ProxyAction::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x304c17)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Debugger::Internal::DebuggerPluginPrivate::*)()>::call(void (Debugger::Internal::DebuggerPluginPrivate::*)(), Debugger::Internal::DebuggerPluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libDebugger.so+0x1f2ca7)
    #23 void QtPrivate::FunctionPointer<void (Debugger::Internal::DebuggerPluginPrivate::*)()>::call<QtPrivate::List<>, void>(void (Debugger::Internal::DebuggerPluginPrivate::*)(), Debugger::Internal::DebuggerPluginPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libDebugger.so+0x1f2ca7)
    #24 QtPrivate::QSlotObject<void (Debugger::Internal::DebuggerPluginPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libDebugger.so+0x1f2ca7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #27 ProjectExplorer::ProjectExplorerPluginPrivate::doUpdateRunActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:3412 (libProjectExplorer.so+0x4ce8ca)
    #28 ProjectExplorer::ProjectExplorerPluginPrivate::updateDeployActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:3329 (libProjectExplorer.so+0x4cf021)
    #29 ProjectExplorer::ProjectExplorerPluginPrivate::updateActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:2962 (libProjectExplorer.so+0x4d03bc)
    #30 ProjectExplorer::ProjectExplorerPlugin::updateActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:4325 (libProjectExplorer.so+0x4d0926)
    #31 operator() ../../src/plugins/projectexplorer/buildconfiguration.cpp:239 (libProjectExplorer.so+0x1fd56a)
    #32 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x1fd56a)
    #33 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x1fd56a)
    #34 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x1fd56a)
    #35 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #36 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #37 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::BuildConfiguration::*)()>::call(void (ProjectExplorer::BuildConfiguration::*)(), ProjectExplorer::BuildConfiguration*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x205cd7)
    #38 void QtPrivate::FunctionPointer<void (ProjectExplorer::BuildConfiguration::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::BuildConfiguration::*)(), ProjectExplorer::BuildConfiguration*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x205cd7)
    #39 QtPrivate::QSlotObject<void (ProjectExplorer::BuildConfiguration::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x205cd7)
    #40 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #41 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #42 ProjectExplorer::BuildSystem::emitParsingFinished(bool) ../../src/plugins/projectexplorer/buildsystem.cpp:133 (libProjectExplorer.so+0x237702)
    #43 ProjectExplorer::BuildSystem::ParseGuard::release() ../../src/plugins/projectexplorer/buildsystem.cpp:290 (libProjectExplorer.so+0x237e3b)
    #44 ProjectExplorer::BuildSystem::ParseGuard::operator=(ProjectExplorer::BuildSystem::ParseGuard&&) ../../src/plugins/projectexplorer/buildsystem.cpp:296 (libProjectExplorer.so+0x237e8f)
    #45 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:525 (libCMakeProjectManager.so+0xa2ded)
    #46 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #47 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #48 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #49 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #50 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #51 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #52 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #53 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #54 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #55 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #56 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #57 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #58 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #59 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003c2298 by thread T62:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003c2298 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003c2280 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a7b8 by thread T43:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc00001a7b8 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T43 'Thread (pooled)' (tid=1303133, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003c22a0 by thread T62:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003c22a0 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003c2280 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080051b1f0 by thread T30:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080051b1f0 by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #8 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #9 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #11 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #12 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #13 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #14 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #15 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #17 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #18 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #19 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #20 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #21 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #22 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #23 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 24 at 0x7b080051b1e0 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #8 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #9 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #11 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #12 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #13 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #14 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #15 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #17 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #18 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #19 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #20 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #21 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #22 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #23 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T30 'QThread' (tid=1303600, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 in call
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c0021a890 by thread T30:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c0021a890 by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1557 (libQt5Core.so.5+0x2d1667)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T30 'QThread' (tid=1303600, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001a8f0 by thread T23:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc00001a8f0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T23 'Thread (pooled)' (tid=1303113, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003c2290 by thread T62:
    #0 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18de1d)
    #1 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de1d)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003c2290 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003c2280 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001aae8 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc00001aae8 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001ab00 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc00001ab00 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f4658 by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15263e)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15263e)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15263e)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #11 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f4658 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f4640 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001ab18 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::ActionContainerPrivate::*)()>::call(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x1270f7)
    #5 void QtPrivate::FunctionPointer<void (Core::Internal::ActionContainerPrivate::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::ActionContainerPrivate::*)(), Core::Internal::ActionContainerPrivate*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x1270f7)
    #6 QtPrivate::QSlotObject<void (Core::Internal::ActionContainerPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x1270f7)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 Core::Internal::Action::setActive(bool) ../../src/plugins/coreplugin/actionmanager/command.cpp:422 (libCore.so+0x12e572)
    #10 Core::Internal::Action::updateActiveState() ../../src/plugins/coreplugin/actionmanager/command.cpp:365 (libCore.so+0x12e572)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::Internal::Action::*)()>::call(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCore.so+0x131d77)
    #12 void QtPrivate::FunctionPointer<void (Core::Internal::Action::*)()>::call<QtPrivate::List<>, void>(void (Core::Internal::Action::*)(), Core::Internal::Action*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCore.so+0x131d77)
    #13 QtPrivate::QSlotObject<void (Core::Internal::Action::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCore.so+0x131d77)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 Utils::ProxyAction::actionChanged() ../../src/libs/utils/proxyaction.cpp:104 (libUtils.so.7+0x304aa9)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::ProxyAction::*)()>::call(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x304c17)
    #18 void QtPrivate::FunctionPointer<void (Utils::ProxyAction::*)()>::call<QtPrivate::List<>, void>(void (Utils::ProxyAction::*)(), Utils::ProxyAction*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x304c17)
    #19 QtPrivate::QSlotObject<void (Utils::ProxyAction::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x304c17)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (PerfProfiler::Internal::PerfProfilerTool::*)()>::call(void (PerfProfiler::Internal::PerfProfilerTool::*)(), PerfProfiler::Internal::PerfProfilerTool*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libPerfProfiler.so+0x5bca7)
    #25 void QtPrivate::FunctionPointer<void (PerfProfiler::Internal::PerfProfilerTool::*)()>::call<QtPrivate::List<>, void>(void (PerfProfiler::Internal::PerfProfilerTool::*)(), PerfProfiler::Internal::PerfProfilerTool*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libPerfProfiler.so+0x5bca7)
    #26 QtPrivate::QSlotObject<void (PerfProfiler::Internal::PerfProfilerTool::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libPerfProfiler.so+0x5bca7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #29 ProjectExplorer::ProjectExplorerPluginPrivate::doUpdateRunActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:3412 (libProjectExplorer.so+0x4ce8ca)
    #30 ProjectExplorer::ProjectExplorerPluginPrivate::updateDeployActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:3329 (libProjectExplorer.so+0x4cf021)
    #31 ProjectExplorer::ProjectExplorerPluginPrivate::updateActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:2962 (libProjectExplorer.so+0x4d03bc)
    #32 ProjectExplorer::ProjectExplorerPlugin::updateActions() ../../src/plugins/projectexplorer/projectexplorer.cpp:4325 (libProjectExplorer.so+0x4d0926)
    #33 operator() ../../src/plugins/projectexplorer/buildconfiguration.cpp:239 (libProjectExplorer.so+0x1fd56a)
    #34 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libProjectExplorer.so+0x1fd56a)
    #35 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libProjectExplorer.so+0x1fd56a)
    #36 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libProjectExplorer.so+0x1fd56a)
    #37 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #38 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #39 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ProjectExplorer::BuildConfiguration::*)()>::call(void (ProjectExplorer::BuildConfiguration::*)(), ProjectExplorer::BuildConfiguration*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libProjectExplorer.so+0x205cd7)
    #40 void QtPrivate::FunctionPointer<void (ProjectExplorer::BuildConfiguration::*)()>::call<QtPrivate::List<>, void>(void (ProjectExplorer::BuildConfiguration::*)(), ProjectExplorer::BuildConfiguration*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libProjectExplorer.so+0x205cd7)
    #41 QtPrivate::QSlotObject<void (ProjectExplorer::BuildConfiguration::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libProjectExplorer.so+0x205cd7)
    #42 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #43 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #44 ProjectExplorer::BuildSystem::emitParsingFinished(bool) ../../src/plugins/projectexplorer/buildsystem.cpp:133 (libProjectExplorer.so+0x237702)
    #45 ProjectExplorer::BuildSystem::ParseGuard::release() ../../src/plugins/projectexplorer/buildsystem.cpp:290 (libProjectExplorer.so+0x237e3b)
    #46 ProjectExplorer::BuildSystem::ParseGuard::operator=(ProjectExplorer::BuildSystem::ParseGuard&&) ../../src/plugins/projectexplorer/buildsystem.cpp:296 (libProjectExplorer.so+0x237e8f)
    #47 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:525 (libCMakeProjectManager.so+0xa2ded)
    #48 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #49 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #50 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #51 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #52 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #53 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #54 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #55 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #56 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #57 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #58 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #59 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #60 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #61 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc00001ab18 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003f4660 by thread T61:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #2 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #3 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #13 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f4660 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f4640 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800517540 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #7 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #8 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #15 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #16 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #17 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #18 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #19 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #20 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #21 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #22 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #23 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #24 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #26 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #27 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #28 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #29 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #30 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800517540 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:569 (libQmlJS.so.7+0x1660b5)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b0800517540 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:569 (libQmlJS.so.7+0x1660b5)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f4668 by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15266a)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15266a)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15266a)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #11 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b10003f4668 by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e708)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e708)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f4640 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f466c by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152686)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152686)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152686)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #11 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b10003f466c by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e723)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e723)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f4640 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003f4670 by thread T61:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f4670 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107041)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x18e735)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x18e735)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f4640 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080051b240 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #7 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #15 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #16 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #17 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #18 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #19 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #20 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #21 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #22 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #23 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #26 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #28 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #29 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b080051b240 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b080051b240 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f46d8 by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15263e)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15263e)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15263e)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #11 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f46d8 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f46c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003f46e0 by thread T61:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #2 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #3 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #13 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f46e0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f46c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080051e630 by thread T67:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:440 (libUtils.so.7+0x317cd1)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #6 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #7 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #8 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #9 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #10 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #11 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #12 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #13 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #14 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #15 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #16 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #17 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #18 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #19 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #20 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #21 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #22 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #23 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #24 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #25 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #26 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #27 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #28 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #29 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b080051e630 by thread T34:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T34 'QThread' (tid=1303624, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #12 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #13 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #14 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #15 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #18 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #19 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #20 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #21 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #22 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #23 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #24 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800497878 by thread T37:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800497878 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800497860 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #15 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303656, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f46e8 by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15266a)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15266a)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15266a)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #11 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b10003f46e8 by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e708)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e708)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f46c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f46ec by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152686)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152686)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152686)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #11 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b10003f46ec by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e723)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e723)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f46c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003f46f0 by thread T61:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f46f0 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107041)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x18e735)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x18e735)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f46c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08003d0ee0 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #7 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #15 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #16 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #17 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #18 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #19 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #20 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #21 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #22 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #23 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #26 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #28 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #29 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08003d0ee0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08003d0ee0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003f4718 by thread T61:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x154014)
    #1 QMapData<QString, QmlJS::CoreImport>::createNode(QString const&, QmlJS::CoreImport const&, QMapNode<QString, QmlJS::CoreImport>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x154014)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x154014)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f4718 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003f4700 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080052e870 by thread T56:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27af19)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #6 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #7 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #8 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #9 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #10 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #11 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #12 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #13 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #14 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #15 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #16 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #17 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #18 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #19 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #20 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b080052e870 by thread T6:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27aec0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T56 'Thread (pooled)' (tid=1303126, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e2c8 by thread T37:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e2c8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e2c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303656, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003da698 by thread T55:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003da698 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003da680 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001adb8 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc00001adb8 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 std::function<bool (double)>::operator()(double) const /usr/include/c++/9/bits/std_function.h:688 (libQmlJS.so.7+0x1d9c40)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:929 (libQmlJS.so.7+0x1d9c40)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080052e878 by thread T56:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x27af19)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2d172f)
    #3 ~Holder kernel/qmetaobject.cpp:1523 (libQt5Core.so.5+0x2d172f)
    #4 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1524 (libQt5Core.so.5+0x2d172f)
    #5 Utils::LauncherInterface::sendData(QByteArray const&) ../../src/libs/utils/launcherinterface.cpp:232 (libUtils.so.7+0x270845)
    #6 Utils::Internal::CallerHandle::sendPacket(Utils::Internal::LauncherPacket const&) ../../src/libs/utils/launchersocket.cpp:319 (libUtils.so.7+0x2737cd)
    #7 Utils::Internal::CallerHandle::start(QString const&, QStringList const&) ../../src/libs/utils/launchersocket.cpp:313 (libUtils.so.7+0x2796be)
    #8 Utils::Internal::ProcessLauncherImpl::doDefaultStart(QString const&, QStringList const&) ../../src/libs/utils/qtcprocess.cpp:471 (libUtils.so.7+0x326288)
    #9 void std::__invoke_impl<void, void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(std::__invoke_memfun_deref, void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f3fe)
    #10 std::__invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::__invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f3fe)
    #11 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type std::invoke<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f3fe)
    #12 std::invoke_result<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>::type Utils::Internal::MeasureAndRun::measureAndRun<void (Utils::Internal::DefaultImpl::*)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*, QString&, QStringList&>(void (Utils::Internal::DefaultImpl::*&&)(QString const&, QStringList const&), Utils::Internal::DefaultImpl*&&, QString&, QStringList&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f3fe)
    #13 Utils::Internal::DefaultImpl::start() ../../src/libs/utils/qtcprocess.cpp:258 (libUtils.so.7+0x31f3fe)
    #14 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1085 (libUtils.so.7+0x322642)
    #15 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #16 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #17 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #18 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #19 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #20 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b080052e878 by thread T6:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27aecd)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T56 'Thread (pooled)' (tid=1303126, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080051ee70 by thread T28:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080051ee70 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080051ee60 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e2d0 by thread T37:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e2d0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e2c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303656, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003da6a0 by thread T55:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003da6a0 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003da680 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001add0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:530 (libCMakeProjectManager.so+0xa2e60)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #7 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #12 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #14 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc00001add0 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080054cff0 by thread T51:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080054cff0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080054cfe0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080054cff8 by thread T51:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080054cff8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080054cfe0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080051ee78 by thread T28:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080051ee78 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080051ee60 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e2d8 by thread T37:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e2d8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e2c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303656, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003da690 by thread T55:
    #0 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18de1d)
    #1 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de1d)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003da690 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003da680 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001ade8 by thread T7:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc00001ade8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T7 'Thread (pooled)' (tid=1303123, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800506bf8 by thread T12:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800506bf8 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800506be0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303657, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e208 by thread T12:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e208 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e200 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303657, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08003b7258 by thread T52:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003b7258 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003b7240 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303659, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800553930 by thread T57:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800553930 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800553920 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08005039ec by thread T51:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005039e8 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005039e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080043dbac by thread T28:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080043dba8 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080043dba0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047e2e0 by thread T37:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e2e0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e2c0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303656, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003f0040 by thread T37:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003f0040 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003f0040 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T37 'QThread' (tid=1303656, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001aff8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:530 (libCMakeProjectManager.so+0xa2e60)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #7 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #12 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #14 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc00001aff8 by thread T53:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T53 'Thread (pooled)' (tid=1303130, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c003978d4 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15f979)
    #1 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15f979)
    #2 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c003978d4 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::createNode(unsigned int, QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16157a)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:761 (libQmlJS.so.7+0x16157a)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16157a)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c003978c0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e210 by thread T12:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e210 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e200 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303657, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e388 by thread T52:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e388 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e380 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303659, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800553938 by thread T57:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800553938 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800553920 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005039f0 by thread T51:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005039f0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005039e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080043dbb0 by thread T28:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080043dbb0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080043dba0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c003978d4 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15f979)
    #1 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15f979)
    #2 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c003978d4 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::createNode(unsigned int, QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16157a)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:761 (libQmlJS.so.7+0x16157a)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16157a)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c003978c0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001b010 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc00001b010 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c003af514 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16003b)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16003b)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c003af514 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::createNode(unsigned int, QString const&, QSharedPointer<QmlJS::Document const> const&, QHashNode<QString, QSharedPointer<QmlJS::Document const> >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16121f)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x16121f)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x16121f)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c003af500 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004e5148 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d2a)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004e5148 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08004e5140 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e218 by thread T12:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e218 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e200 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303657, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e390 by thread T52:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e390 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e380 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303659, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004c308c by thread T57:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004c3088 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004c3080 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004ecca8 by thread T51:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004ecca8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004ecca0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b500025c0c8 by thread T41:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b500025c0c8 by thread T64:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323eb3)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x323eb3)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::swap(QList<Utils::Internal::ProcessInterfaceSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x323eb3)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x323eb3)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323eb3)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 operator() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:931 (libCMakeProjectManager.so+0xa6e8b)
    #13 runAsyncQFutureInterfaceDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:257 (libCMakeProjectManager.so+0xa6e8b)
    #14 runAsyncMemberDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:274 (libCMakeProjectManager.so+0xa6e8b)
    #15 runAsyncImpl<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:303 (libCMakeProjectManager.so+0xa6e8b)
    #16 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCMakeProjectManager.so+0xa6e8b)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCMakeProjectManager.so+0xa6e8b)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 472 at 0x7b500025c000 allocated by thread T64:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 operator() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:925 (libCMakeProjectManager.so+0xa6e52)
    #3 runAsyncQFutureInterfaceDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:257 (libCMakeProjectManager.so+0xa6e52)
    #4 runAsyncMemberDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:274 (libCMakeProjectManager.so+0xa6e52)
    #5 runAsyncImpl<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:303 (libCMakeProjectManager.so+0xa6e52)
    #6 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCMakeProjectManager.so+0xa6e52)
    #7 run ../../src/libs/utils/runextensions.h:352 (libCMakeProjectManager.so+0xa6e52)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T41 'QThread' (tid=1303693, running) created by thread T64 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 operator() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:931 (libCMakeProjectManager.so+0xa6e8b)
    #8 runAsyncQFutureInterfaceDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:257 (libCMakeProjectManager.so+0xa6e8b)
    #9 runAsyncMemberDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:274 (libCMakeProjectManager.so+0xa6e8b)
    #10 runAsyncImpl<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:303 (libCMakeProjectManager.so+0xa6e8b)
    #11 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCMakeProjectManager.so+0xa6e8b)
    #12 run ../../src/libs/utils/runextensions.h:352 (libCMakeProjectManager.so+0xa6e8b)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T64 'QThread' (tid=1303672, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:530 (libCMakeProjectManager.so+0xa2e60)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #5 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #6 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #10 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004d1568 by thread T28:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d1568 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d1560 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001b040 by thread T39:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc00001b040 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T39 'Thread (pooled)' (tid=1303135, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004e5150 by thread T61:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x154d57)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d57)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d57)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004e5150 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08004e5140 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047e220 by thread T12:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e220 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e200 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T12 'QThread' (tid=1303657, running) created by thread T43 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e398 by thread T52:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e398 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e380 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303659, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004c3090 by thread T57:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004c3090 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004c3080 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005039f8 by thread T51:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005039f8 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #23 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #26 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005039e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e358 by thread T51:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e358 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e350 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08005039e0 by thread T51:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08005039e0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08005039e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001b178 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc00001b178 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047e3a0 by thread T52:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e3a0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e380 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303659, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080053df88 by thread T57:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053df88 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053df80 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080043dbb8 by thread T28:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080043dbb8 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #28 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080043dba0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e3e8 by thread T28:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e3e8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e3e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080043dba0 by thread T28:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080043dba0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080043dba0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004eccb8 by thread T51:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004eccb8 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004ecca0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004eccb0 by thread T51:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004eccb0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004ecca0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b84009bc800 by thread T51:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b84009bc800 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 4937 at 0x7b84009bc800 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004c3098 by thread T57:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004c3098 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004c3080 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e3b8 by thread T57:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e3b8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e3b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d1578 by thread T28:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d1578 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d1560 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d1570 by thread T28:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d1570 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d1560 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10000be880 by thread T52:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10000be880 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #28 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10000be880 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #28 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #30 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #31 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303659, running) created by thread T38 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e360 by thread T51:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e360 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e350 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004e8170 by thread T13:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004e8170 by thread T64:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 operator() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:931 (libCMakeProjectManager.so+0xa6e9c)
    #6 runAsyncQFutureInterfaceDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:257 (libCMakeProjectManager.so+0xa6e9c)
    #7 runAsyncMemberDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:274 (libCMakeProjectManager.so+0xa6e9c)
    #8 runAsyncImpl<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:303 (libCMakeProjectManager.so+0xa6e9c)
    #9 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCMakeProjectManager.so+0xa6e9c)
    #10 run ../../src/libs/utils/runextensions.h:352 (libCMakeProjectManager.so+0xa6e9c)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 24 at 0x7b08004e8160 allocated by thread T64:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 operator() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:931 (libCMakeProjectManager.so+0xa6e9c)
    #6 runAsyncQFutureInterfaceDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:257 (libCMakeProjectManager.so+0xa6e9c)
    #7 runAsyncMemberDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:274 (libCMakeProjectManager.so+0xa6e9c)
    #8 runAsyncImpl<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:303 (libCMakeProjectManager.so+0xa6e9c)
    #9 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCMakeProjectManager.so+0xa6e9c)
    #10 run ../../src/libs/utils/runextensions.h:352 (libCMakeProjectManager.so+0xa6e9c)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T13 'QThread' (tid=1303698, running) created by thread T64 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 operator() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:931 (libCMakeProjectManager.so+0xa6e9c)
    #4 runAsyncQFutureInterfaceDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:257 (libCMakeProjectManager.so+0xa6e9c)
    #5 runAsyncMemberDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:274 (libCMakeProjectManager.so+0xa6e9c)
    #6 runAsyncImpl<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:303 (libCMakeProjectManager.so+0xa6e9c)
    #7 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCMakeProjectManager.so+0xa6e9c)
    #8 run ../../src/libs/utils/runextensions.h:352 (libCMakeProjectManager.so+0xa6e9c)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T64 'QThread' (tid=1303672, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:530 (libCMakeProjectManager.so+0xa2e60)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #5 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #6 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #10 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 in call
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08004c3080 by thread T57:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004c3080 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004c3080 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc00001b190 by thread T7:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bc00001b190 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T7 'Thread (pooled)' (tid=1303123, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e3f0 by thread T28:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e3f0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e3e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e3f8 by thread T28:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e3f8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e3e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047e400 by thread T28:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e400 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e3e0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b1000369040 by thread T28:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b1000369040 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #30 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #31 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #33 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b1000369040 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #30 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #31 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #32 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #33 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T28 'QThread' (tid=1303665, running) created by thread T59 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080053df98 by thread T57:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053df98 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #25 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #28 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053df80 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e368 by thread T51:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e368 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e350 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c00211210 by thread T13:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c00211210 by thread T64:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1557 (libQt5Core.so.5+0x2d1667)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 operator() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:931 (libCMakeProjectManager.so+0xa6e9c)
    #4 runAsyncQFutureInterfaceDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:257 (libCMakeProjectManager.so+0xa6e9c)
    #5 runAsyncMemberDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:274 (libCMakeProjectManager.so+0xa6e9c)
    #6 runAsyncImpl<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:303 (libCMakeProjectManager.so+0xa6e9c)
    #7 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCMakeProjectManager.so+0xa6e9c)
    #8 run ../../src/libs/utils/runextensions.h:352 (libCMakeProjectManager.so+0xa6e9c)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T13 'QThread' (tid=1303698, running) created by thread T64 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 operator() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:931 (libCMakeProjectManager.so+0xa6e9c)
    #4 runAsyncQFutureInterfaceDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:257 (libCMakeProjectManager.so+0xa6e9c)
    #5 runAsyncMemberDispatch<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:274 (libCMakeProjectManager.so+0xa6e9c)
    #6 runAsyncImpl<QByteArray, CMakeProjectManager::Internal::CMakeBuildSystem::runCTest()::<lambda(QFutureInterface<QByteArray>&)> > ../../src/libs/utils/runextensions.h:303 (libCMakeProjectManager.so+0xa6e9c)
    #7 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCMakeProjectManager.so+0xa6e9c)
    #8 run ../../src/libs/utils/runextensions.h:352 (libCMakeProjectManager.so+0xa6e9c)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T64 'QThread' (tid=1303672, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:530 (libCMakeProjectManager.so+0xa2e60)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #5 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #6 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #10 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080053df90 by thread T57:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080053df90 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080053df80 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #24 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #25 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #26 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #27 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b88000e8800 by thread T57:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b88000e8800 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 5431 at 0x7b88000e8800 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #27 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #29 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #30 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c003a8d04 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15f664)
    #1 QmlJS::Snapshot::document(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:622 (libQmlJS.so.7+0x15f664)
    #2 findNewFileImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:739 (libQmlJS.so.7+0x1da2dc)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:992 (libQmlJS.so.7+0x1da2dc)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c003a8d04 by thread T62:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::createNode(unsigned int, QString const&, QSharedPointer<QmlJS::Document const> const&, QHashNode<QString, QSharedPointer<QmlJS::Document const> >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16121f)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x16121f)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x16121f)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c003a8cf0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080047a1e0 by thread T6:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QDeferredDeleteEvent::~QDeferredDeleteEvent() kernel/qcoreevent.cpp:656 (libQt5Core.so.5+0x2ce161)

  Previous write of size 8 at 0x7b080047a1e0 by thread T59:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QObject::deleteLater() kernel/qobject.cpp:2303 (libQt5Core.so.5+0x2f8f1c)
    #2 Utils::LauncherInterface::unregisterHandle(unsigned long long) ../../src/libs/utils/launcherinterface.cpp:244 (libUtils.so.7+0x2705c5)
    #3 Utils::Internal::ProcessLauncherImpl::~ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:441 (libUtils.so.7+0x32a0f1)
    #4 Utils::Internal::ProcessLauncherImpl::~ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:443 (libUtils.so.7+0x32a0f1)
    #5 std::unique_ptr<Utils::ProcessInterface, std::default_delete<Utils::ProcessInterface> >::~unique_ptr() /usr/include/c++/9/bits/unique_ptr.h:81 (libUtils.so.7+0x32b092)
    #6 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b092)
    #7 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b092)
    #8 Utils::QtcProcess::~QtcProcess() ../../src/libs/utils/qtcprocess.cpp:985 (libUtils.so.7+0x318b7b)
    #9 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:423 (libProjectExplorer.so+0x34a01f)
    #10 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #11 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #12 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #13 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #14 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T59 'Thread (pooled)' (tid=1303128, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c005606e0 by thread T62:
    #0 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dea3)
    #1 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005606e0 by thread T61:
    #0 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e819)
    #1 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #2 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c005606d0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003fb6c8 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003fb6c8 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003fb6c0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003fb708 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003fb708 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #3 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #4 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003fb700 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047e370 by thread T51:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e370 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e350 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #22 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T51 'QThread' (tid=1303663, running) created by thread T49 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e3c0 by thread T57:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e3c0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e3b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003fb748 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003fb748 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003fb740 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047e3c8 by thread T57:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e3c8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e3b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003fb790 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003fb790 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003fb780 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f00cc by thread T65:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003f00c8 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #60 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #61 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #62 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #63 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #64 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #65 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003f00c0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #60 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #61 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #62 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #63 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #64 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #65 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047e3d0 by thread T57:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c0047e3d0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c0047e3b0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #26 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #27 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #28 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #29 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303671, running) created by thread T33 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c005361a4 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a40)
    #1 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a40)
    #2 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c005361a4 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::createNode(unsigned int, QString const&, QmlJS::LibraryInfo const&, QHashNode<QString, QmlJS::LibraryInfo>**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16700a)
    #1 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x16700a)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x16700a)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00536190 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f62d8 by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15263e)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15263e)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15263e)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f62d8 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f62c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003f00d0 by thread T65:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003f00d0 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #60 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #61 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #62 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #63 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #64 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #65 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003f00c0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #60 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #61 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #62 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #63 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #64 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #65 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004d0fc8 by thread T65:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d0fc8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d0fc0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003f62e0 by thread T61:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #2 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #3 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #13 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #14 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f62e0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f62c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003c330c by thread T21:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003c3308 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003c3300 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1303712, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00478a18 by thread T65:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c00478a18 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #60 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #61 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #63 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c00478a10 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #60 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #61 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #63 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08004cc8c0 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #7 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #8 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #15 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #16 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #17 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #18 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #19 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #20 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #21 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #22 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #23 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #24 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #25 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #26 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #27 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #28 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #29 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #30 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #31 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004cc8c0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:569 (libQmlJS.so.7+0x1660b5)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08004cc8c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:569 (libQmlJS.so.7+0x1660b5)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003c3310 by thread T21:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003c3310 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003c3300 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #14 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #15 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T21 'QThread' (tid=1303712, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003f00c0 by thread T65:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b10003f00c0 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #60 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #61 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #62 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #63 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #64 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #65 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b10003f00c0 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #3 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #60 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #61 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #62 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #63 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #64 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #65 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f62e8 by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15266a)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15266a)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15266a)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b10003f62e8 by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e708)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e708)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f62c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d0fd8 by thread T65:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d0fd8 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d0fc0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f62ec by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152686)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152686)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152686)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b10003f62ec by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e723)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e723)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f62c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b8000086000 by thread T65:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cc8)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cc8)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cc8)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cc8)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cc8)
    #6 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cc8)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cc8)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b8000086000 by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #60 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #61 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #63 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 4096 at 0x7b8000086000 allocated by thread T6:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 reallocateData tools/qarraydata.cpp:183 (libQt5Core.so.5+0xc5e69)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x2780e8)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #60 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #61 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #63 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003f62f0 by thread T61:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #13 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f62f0 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107041)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x18e735)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x18e735)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f62c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b080041e360 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #7 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #15 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #16 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #17 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #18 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #19 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #20 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #21 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #22 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #23 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #24 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #26 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #27 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #28 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #29 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #30 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b080041e360 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b080041e360 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d0fd0 by thread T65:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004d0fd0 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004d0fc0 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardError(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:479 (libUtils.so.7+0x278050)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:431 (libUtils.so.7+0x27a91a)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f6318 by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15263e)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15263e)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15263e)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f6318 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f6300 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003f6320 by thread T61:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #2 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #3 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #13 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #14 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f6320 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f6300 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f6328 by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15266a)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15266a)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15266a)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b10003f6328 by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e708)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e708)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f6300 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003f632c by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152686)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152686)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152686)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b10003f632c by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e723)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e723)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f6300 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003f6330 by thread T61:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #13 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003f6330 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107041)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x18e735)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x18e735)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10003f6300 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08004e0b40 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #7 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #15 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #16 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #17 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #18 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #19 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #20 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #21 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #22 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #23 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #24 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #26 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #27 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #28 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #29 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #30 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004e0b40 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08004e0b40 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00531a60 by thread T55:
    #0 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dea3)
    #1 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00531a60 by thread T61:
    #0 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e819)
    #1 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #2 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00531a50 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000402fd0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000402fd0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000402fc0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004031d0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10004031d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #3 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #4 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10004031c0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0053b870 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543b5)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543b5)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543b5)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543b5)
    #5 QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x1543b5)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543b5)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:121 (libQmlJS.so.7+0x1fe5bb)
    #9 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #11 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #15 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0053b870 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0053b860 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b28000b05e0 by thread T65:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b28000b05e0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #60 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #61 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #63 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #64 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 157 at 0x7b28000b05e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #60 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #61 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #63 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #64 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c0053b888 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x1543d6)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543d6)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:121 (libQmlJS.so.7+0x1fe5bb)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0053b888 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0053b860 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b5000185cc8 by thread T65:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b5000185cc8 by thread T67:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323eb3)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libUtils.so.7+0x323eb3)
    #2 QList<Utils::Internal::ProcessInterfaceSignal*>::swap(QList<Utils::Internal::ProcessInterfaceSignal*>&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libUtils.so.7+0x323eb3)
    #3 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:167 (libUtils.so.7+0x323eb3)
    #4 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:824 (libUtils.so.7+0x323eb3)
    #5 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #6 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #7 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #8 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #9 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #10 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #11 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #12 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #13 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #14 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #15 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #16 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #17 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #18 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #19 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #20 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #21 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #22 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #23 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #24 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #25 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #26 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #27 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #28 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #29 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #30 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #31 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #32 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 472 at 0x7b5000185c00 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:142 (libProjectExplorer.so+0x36ce2e)
    #3 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #4 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #5 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #7 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #8 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #9 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #10 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #11 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #13 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #15 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #16 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #17 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #18 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #19 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0055ff50 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543fb)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543fb)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543fb)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543fb)
    #5 QMap<QmlJS::ImportKey, QStringList>::QMap(QMap<QmlJS::ImportKey, QStringList> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x1543fb)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x1543fb)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543fb)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:121 (libQmlJS.so.7+0x1fe5bb)
    #10 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #12 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0055ff50 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c0055ff50 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080057c748 by thread T52:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080057c748 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080057c740 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303770, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00478a20 by thread T65:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ebb)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ebb)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ebb)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c00478a20 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #60 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #61 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #63 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c00478a10 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #60 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #61 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #63 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00531a50 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154443)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154443)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154443)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154443)
    #5 QMap<QString, QmlJS::CoreImport>::QMap(QMap<QString, QmlJS::CoreImport> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x154443)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x154443)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154443)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:121 (libQmlJS.so.7+0x1fe5bb)
    #10 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #12 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c00531a50 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00531a50 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080057c758 by thread T52:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080057c758 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080057c740 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303770, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080057c750 by thread T52:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b080057c750 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b080057c740 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #20 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303770, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b8800103800 by thread T52:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b8800103800 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 5121 at 0x7b8800103800 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303770, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0053b880 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x162a54)
    #1 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a54)
    #2 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a54)
    #3 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0053b880 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0053b860 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0053f080 by thread T62:
    #0 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dea3)
    #1 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0053f080 by thread T55:
    #0 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e819)
    #1 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #2 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c0053f070 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00478a28 by thread T65:
    #0 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273ef0)
    #1 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273ef0)
    #2 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273ef0)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c00478a28 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #60 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #61 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #63 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c00478a10 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #60 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #61 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #63 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/processinterface.h:65 in Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0053b868 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x16996d)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0053b868 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0053b860 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003be2c8 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003be2c8 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003be2c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00478a30 by thread T65:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libUtils.so.7+0x273f11)
    #1 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f11)
    #2 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f11)
    #3 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f11)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0c00478a30 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #60 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #61 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #63 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 40 at 0x7b0c00478a10 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a449)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #60 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #61 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #62 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #63 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b100035a900 by thread T65:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273f2c)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273f2c)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273f2c)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273f2c)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libUtils.so.7+0x273f2c)
    #6 Utils::ProcessResultData::ProcessResultData(Utils::ProcessResultData const&) ../../src/libs/utils/processinterface.h:65 (libUtils.so.7+0x273f2c)
    #7 Utils::Internal::LauncherDoneSignal::resultData() const ../../src/libs/utils/launchersocket.cpp:85 (libUtils.so.7+0x273f2c)
    #8 Utils::Internal::CallerHandle::handleDone(Utils::Internal::LauncherDoneSignal const*) ../../src/libs/utils/launchersocket.cpp:194 (libUtils.so.7+0x273f2c)
    #9 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:160 (libUtils.so.7+0x278d37)
    #10 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #12 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b100035a900 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #60 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #61 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #62 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #63 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #64 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #65 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #66 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 64 at 0x7b100035a900 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ProcessDonePacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ProcessDonePacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x27a26b)
    #4 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:490 (libUtils.so.7+0x27a26b)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #21 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #22 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #23 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #24 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #25 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #26 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #27 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #28 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #29 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #30 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #31 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #32 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #33 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #34 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #35 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #36 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #37 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #38 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #39 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #40 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #41 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #42 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #43 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #44 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #45 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #46 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #47 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #48 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #49 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #50 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #51 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #52 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #53 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #54 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #55 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #56 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #57 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #58 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #59 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #60 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #61 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #62 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #63 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #64 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #65 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #66 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T65 'QThread' (tid=1303711, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #10 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #11 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #13 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #14 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #15 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #16 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #18 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #19 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #20 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #21 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #22 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #23 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #24 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #25 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44006c4de8 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x169984)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b44006c4de8 by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 296 at 0x7b44006c4d00 allocated by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10002e2288 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10002e2288 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #3 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #4 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10002e2280 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003d5d90 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003d5d90 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003d5d80 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c0022ac78 by main thread:
    #0 QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x1699ee)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1699ee)
    #2 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #5 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c0022ac78 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c0022ac70 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003be288 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003be288 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:261 (libQmlJS.so.7+0x1541c9)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003be280 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c0022ac88 by main thread:
    #0 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162a95)
    #1 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162a95)
    #2 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a95)
    #3 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c0022ac88 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c0022ac70 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsdocument.h:173 in QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0022ac90 by main thread:
    #0 QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151479)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162aba)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162aba)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162aba)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c0022ac90 by thread T55:
    #0 QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151484)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x152431)
    #2 QHashNode<QString, QmlJS::LibraryInfo>::QHashNode(QString const&, QmlJS::LibraryInfo const&, unsigned int, QHashNode<QString, QmlJS::LibraryInfo>*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x152431)
    #3 QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x152431)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c0022ac70 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003be2a8 by thread T62:
    #0 QList<QmlJS::Export>::QList(QList<QmlJS::Export> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x153cf9)
    #1 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x18aa74)
    #2 QMap<QString, QmlJS::CoreImport>::value(QString const&, QmlJS::CoreImport const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:662 (libQmlJS.so.7+0x18aa74)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:772 (libQmlJS.so.7+0x18aa74)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003be2a8 by thread T55:
    #0 QList<QmlJS::Export>::QList(QList<QmlJS::Export> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x153d04)
    #1 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x154083)
    #2 QMapData<QString, QmlJS::CoreImport>::createNode(QString const&, QmlJS::CoreImport const&, QMapNode<QString, QmlJS::CoreImport>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x154083)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x154083)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003be280 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlJS::Export>::QList(QList<QmlJS::Export> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0022ac98 by main thread:
    #0 QList<QmlDirParser::Plugin>::QList(QList<QmlDirParser::Plugin> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x1511f9)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162ad0)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162ad0)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162ad0)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c0022ac98 by thread T55:
    #0 QList<QmlDirParser::Plugin>::QList(QList<QmlDirParser::Plugin> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151204)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x152446)
    #2 QHashNode<QString, QmlJS::LibraryInfo>::QHashNode(QString const&, QmlJS::LibraryInfo const&, unsigned int, QHashNode<QString, QmlJS::LibraryInfo>*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x152446)
    #3 QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x152446)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c0022ac70 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlDirParser::Plugin>::QList(QList<QmlDirParser::Plugin> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800509df0 by thread T50:
    #0 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c8a)
    #1 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c8a)
    #2 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c8a)
    #3 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #4 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800509df0 by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #8 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #9 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #11 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #12 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #13 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #14 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #15 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #17 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #18 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #19 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #20 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #21 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #22 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #23 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 24 at 0x7b0800509de0 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 invokeMethod<Utils::Internal::ProcessInterfaceHandler::moveToCallerThread()::<lambda()> > /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:526 (libUtils.so.7+0x324339)
    #2 Utils::Internal::ProcessInterfaceHandler::moveToCallerThread() ../../src/libs/utils/qtcprocess.cpp:732 (libUtils.so.7+0x324339)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:792 (libUtils.so.7+0x324339)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #8 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #9 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #11 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #12 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #13 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #14 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #15 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #17 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #18 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #19 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #20 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #21 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #22 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #23 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T50 'QThread' (tid=1303826, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 in call
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c00134a80 by thread T50:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)

  Previous write of size 8 at 0x7b1c00134a80 by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1557 (libQt5Core.so.5+0x2d1667)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T50 'QThread' (tid=1303826, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1800420fe8 by thread T39:
    #0 pthread_cond_destroy ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1208 (libtsan.so.0+0x467aa)
    #1 QWaitCondition::~QWaitCondition() thread/qwaitcondition_unix.cpp:184 (libQt5Core.so.5+0xbfdcd)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b1800420fe8 by thread T22 (mutexes: write M54178538542206912):
    #0 pthread_cond_broadcast ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1201 (libtsan.so.0+0x3e306)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:201 (libQt5Core.so.5+0xbff03)

  Location is heap block of size 96 at 0x7b1800420fc0 allocated by thread T39:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Mutex M54178538542206912 is already destroyed.

  Thread T39 'Thread (pooled)' (tid=1303135, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T22 'QThread' (tid=1303813, finished) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:184 in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 1 at 0x7b1800420fc0 by thread T39:
    #0 pthread_mutex_destroy ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1237 (libtsan.so.0+0x3725c)
    #1 QWaitCondition::~QWaitCondition() thread/qwaitcondition_unix.cpp:185 (libQt5Core.so.5+0xbfdea)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous atomic read of size 1 at 0x7b1800420fc0 by thread T22:
    #0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4165 (libtsan.so.0+0x526fc)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:199 (libQt5Core.so.5+0xbfed9)

  Location is heap block of size 96 at 0x7b1800420fc0 allocated by thread T39:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T39 'Thread (pooled)' (tid=1303135, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T22 'QThread' (tid=1303813, finished) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:185 in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10003be2b0 by thread T62:
    #0 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x18aa8a)
    #1 QMap<QString, QmlJS::CoreImport>::value(QString const&, QmlJS::CoreImport const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:662 (libQmlJS.so.7+0x18aa8a)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:772 (libQmlJS.so.7+0x18aa8a)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b10003be2b0 by thread T55:
    #0 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x15408d)
    #1 QMapData<QString, QmlJS::CoreImport>::createNode(QString const&, QmlJS::CoreImport const&, QMapNode<QString, QmlJS::CoreImport>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x15408d)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15408d)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003be280 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:160 in QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10003be2b8 by thread T62:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libQmlJS.so.7+0x18aa9d)
    #1 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x18aa9d)
    #2 QMap<QString, QmlJS::CoreImport>::value(QString const&, QmlJS::CoreImport const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:662 (libQmlJS.so.7+0x18aa9d)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:772 (libQmlJS.so.7+0x18aa9d)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003be2b8 by thread T55:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libQmlJS.so.7+0x1540b5)
    #1 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x1540b5)
    #2 QMapData<QString, QmlJS::CoreImport>::createNode(QString const&, QmlJS::CoreImport const&, QMapNode<QString, QmlJS::CoreImport>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1540b5)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1540b5)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003be280 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44003e99c0 by thread T6:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libUtils.so.7+0x27c6a8)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libUtils.so.7+0x27c6a8)
    #2 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::value(unsigned long long const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libUtils.so.7+0x276a5d)
    #3 Utils::Internal::LauncherSocket::handleForToken(unsigned long long) const ../../src/libs/utils/launchersocket.cpp:612 (libUtils.so.7+0x276a5d)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:662 (libUtils.so.7+0x27aa04)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Previous write of size 8 at 0x7b44003e99c0 by thread T67:
    #0 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::erase(QHash<unsigned long long, Utils::Internal::LauncherHandle*>::const_iterator) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:885 (libUtils.so.7+0x27c8a9)
    #1 QHash<unsigned long long, Utils::Internal::LauncherHandle*>::erase(QHash<unsigned long long, Utils::Internal::LauncherHandle*>::iterator) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:521 (libUtils.so.7+0x277435)
    #2 Utils::Internal::LauncherSocket::unregisterHandle(unsigned long long) ../../src/libs/utils/launchersocket.cpp:605 (libUtils.so.7+0x277435)
    #3 Utils::LauncherInterface::unregisterHandle(unsigned long long) ../../src/libs/utils/launcherinterface.cpp:244 (libUtils.so.7+0x2705c5)
    #4 Utils::Internal::ProcessLauncherImpl::~ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:441 (libUtils.so.7+0x32a0f1)
    #5 Utils::Internal::ProcessLauncherImpl::~ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:443 (libUtils.so.7+0x32a0f1)
    #6 std::unique_ptr<Utils::ProcessInterface, std::default_delete<Utils::ProcessInterface> >::~unique_ptr() /usr/include/c++/9/bits/unique_ptr.h:81 (libUtils.so.7+0x32b092)
    #7 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b092)
    #8 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b092)
    #9 Utils::QtcProcess::~QtcProcess() ../../src/libs/utils/qtcprocess.cpp:985 (libUtils.so.7+0x318b7b)
    #10 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:142 (libProjectExplorer.so+0x36ceff)
    #11 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #12 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #13 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #14 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #15 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #16 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #17 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #18 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #19 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #20 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:97 (libCppEditor.so+0x30597e)
    #21 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #22 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #23 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #24 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #25 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #26 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #27 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #28 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #29 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 296 at 0x7b44003e9900 allocated by thread T63:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270acb)
    #3 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #4 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #5 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:421 (libProjectExplorer.so+0x349eaf)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T63 'Thread (pooled)' (tid=1303138, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<unsigned long long, Utils::Internal::LauncherHandle*>::findNode(unsigned long long const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b10003d3b50 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b10003d3b50 by thread T55:
    #0 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:722 (libQmlJS.so.7+0x18ad79)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18ad79)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ad79)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080042c038 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ac9)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b080042c038 by thread T62:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:195 (libQmlJS.so.7+0x160287)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libQmlJS.so.7+0x160287)
    #2 QList<QSharedPointer<QmlJS::Document const> >::swap(QList<QSharedPointer<QmlJS::Document const> >&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libQmlJS.so.7+0x160287)
    #3 QList<QSharedPointer<QmlJS::Document const> >::operator=(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:534 (libQmlJS.so.7+0x160287)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:591 (libQmlJS.so.7+0x160287)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b080042c020 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b10003fa900 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154ae2)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154ae2)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154ae2)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154ae2)
    #5 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x154ae2)
    #6 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #7 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #8 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10003fa900 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10003fa900 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b5c00014cc0 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:634 (libQmlJS.so.7+0x1610bb)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1610bb)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:754 (libQmlJS.so.7+0x1610bb)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1610bb)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b5c00014cc0 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x16071f)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:754 (libQmlJS.so.7+0x16071f)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16071f)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 840 at 0x7b5c00014c80 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QmlJSTools::Internal::QmlJSToolsPlugin::initialize(QStringList const&, QString*) ../../src/plugins/qmljstools/qmljstoolsplugin.cpp:77 (libQmlJSTools.so+0x6de30)
    #2 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #3 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #4 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #5 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #6 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:634 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach_helper()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b5c00014cb8 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x1542e9)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1542e9)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b5c00014cb8 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:634 (libQmlJS.so.7+0x15cfbd)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 840 at 0x7b5c00014c80 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QmlJSTools::Internal::QmlJSToolsPlugin::initialize(QStringList const&, QString*) ../../src/plugins/qmljstools/qmljstoolsplugin.cpp:77 (libQmlJSTools.so+0x6de30)
    #2 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #3 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #4 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #5 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #6 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0046cff0 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154306)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154306)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154306)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154306)
    #5 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154306)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154306)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0046cff0 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0046cfe0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c0046d008 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154327)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154327)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0046d008 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0046cfe0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800458f30 by thread T52:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27ada0)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800458f30 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800458f20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303857, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800458f38 by thread T52:
    #0 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 (libUtils.so.7+0x27adad)
    #1 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #2 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800458f38 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800458f20 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::CallerHandle::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::CallerHandle::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::Object*, void (Utils::Internal::CallerHandle::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x2743c9)
    #2 Utils::Internal::LauncherHandle::flushCaller() ../../src/libs/utils/launchersocket.cpp:417 (libUtils.so.7+0x2743c9)
    #3 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:465 (libUtils.so.7+0x277d8f)
    #4 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #20 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303857, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:425 in QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0046d020 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x15435e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x15435e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x15435e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x15435e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15435e)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15435e)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0046d020 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0046d010 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08003f1798 by thread T57:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08003f1798 by thread T6:
    #0 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:648 (libUtils.so.7+0x27c232)
    #1 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #2 Utils::Internal::LauncherHandle::handleDonePacket(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:498 (libUtils.so.7+0x27a50a)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:434 (libUtils.so.7+0x27a8ff)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #16 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #17 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08003f1780 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T57 'QThread' (tid=1303856, running) created by thread T39 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004645ec by thread T52:
    #0 QListData::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 (libUtils.so.7+0x278906)
    #1 QList<Utils::Internal::LauncherSignal*>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libUtils.so.7+0x278906)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:710 (libUtils.so.7+0x278906)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278906)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278906)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278906)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004645e8 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004645e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303857, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:115 in QListData::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c0046d038 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15437f)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15437f)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0046d038 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0046d010 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c00463de0 by thread T39:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 Utils::Internal::ProcessInterfaceHandler::~ProcessInterfaceHandler() ../../src/libs/utils/qtcprocess.cpp:549 (libUtils.so.7+0x326422)
    #2 std::unique_ptr<Utils::Internal::ProcessInterfaceHandler, std::default_delete<Utils::Internal::ProcessInterfaceHandler> >::~unique_ptr() /usr/include/c++/9/bits/unique_ptr.h:81 (libUtils.so.7+0x32b0c0)
    #3 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b0c0)
    #4 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b0c0)
    #5 Utils::QtcProcess::~QtcProcess() ../../src/libs/utils/qtcprocess.cpp:985 (libUtils.so.7+0x318b7b)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:423 (libProjectExplorer.so+0x34a01f)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b0c00463de0 by thread T22:
    [failed to restore the stack]

  Thread T39 'Thread (pooled)' (tid=1303135, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004645f0 by thread T52:
    #0 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278967)
    #1 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278967)
    #2 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278967)
    #3 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278967)
    #4 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278967)
    #5 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #6 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #7 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004645f0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004645e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303857, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/stl_algo.h:4343 in transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> >
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00471850 by thread T61:
    #0 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dea3)
    #1 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00471850 by thread T55:
    #0 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e819)
    #1 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #2 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00471840 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000407c50 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000407c50 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000407c40 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #8 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #9 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c0012d770 by thread T39:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)
    #2 Utils::QtcProcess::~QtcProcess() ../../src/libs/utils/qtcprocess.cpp:985 (libUtils.so.7+0x318b7b)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:423 (libProjectExplorer.so+0x34a01f)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1c0012d770 by thread T22:
    [failed to restore the stack]

  Thread T39 'Thread (pooled)' (tid=1303135, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800519108 by thread T52:
    #0 operator() ../../src/libs/utils/launchersocket.cpp:123 (libUtils.so.7+0x278973)
    #1 transform<QList<Utils::Internal::LauncherSignal*>::const_iterator, std::back_insert_iterator<QList<Utils::Internal::CallerHandle::SignalType> >, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > /usr/include/c++/9/bits/stl_algo.h:4343 (libUtils.so.7+0x278973)
    #2 transform<QList<Utils::Internal::CallerHandle::SignalType>, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:711 (libUtils.so.7+0x278973)
    #3 transform<QList, const QList<Utils::Internal::LauncherSignal*>&, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)> > ../../src/libs/utils/algorithm.h:724 (libUtils.so.7+0x278973)
    #4 transform<QList, Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType)::<lambda(const Utils::Internal::LauncherSignal*)>, Utils::Internal::LauncherSignal*> ../../src/libs/utils/algorithm.h:793 (libUtils.so.7+0x278973)
    #5 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:124 (libUtils.so.7+0x278973)
    #6 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #8 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #9 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800519108 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800519100 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303857, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/launchersocket.cpp:123 in operator()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000407e50 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000407e50 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #3 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #4 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000407e40 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #9 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #10 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08004645e0 by thread T52:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x27be9e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x27be9e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x27be9e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x27be9e)
    #5 QList<Utils::Internal::LauncherSignal*>::QList(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libUtils.so.7+0x27be9e)
    #6 QList<Utils::Internal::LauncherSignal*>::operator=(QList<Utils::Internal::LauncherSignal*> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x278bda)
    #7 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:134 (libUtils.so.7+0x278bda)
    #8 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #10 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #11 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #13 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b08004645e0 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b08004645e0 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<Utils::Internal::LauncherSignal*>::append(Utils::Internal::LauncherSignal* const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libUtils.so.7+0x27c1e1)
    #3 Utils::Internal::CallerHandle::appendSignal(Utils::Internal::LauncherSignal*) ../../src/libs/utils/launchersocket.cpp:231 (libUtils.so.7+0x2775e9)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d48)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303857, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00436c30 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154306)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154306)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154306)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154306)
    #5 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154306)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154306)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:640 (libQmlJS.so.7+0x1fdf3f)
    #9 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #10 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #12 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c00436c30 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00436c20 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800519118 by thread T52:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273cad)
    #1 Utils::Internal::LauncherReadyReadSignal::stdErr() const ../../src/libs/utils/launchersocket.cpp:69 (libUtils.so.7+0x273cad)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cad)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800519118 by thread T6:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x277d20)
    #1 Utils::Internal::LauncherReadyReadSignal::LauncherReadyReadSignal(QByteArray const&, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:67 (libUtils.so.7+0x277d20)
    #2 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277d20)
    #3 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #19 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #22 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800519100 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303857, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c00436c48 by main thread:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154327)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154327)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:640 (libQmlJS.so.7+0x1fdf3f)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c00436c48 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00436c20 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c004d79a0 by thread T25:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 Utils::Internal::ProcessInterfaceHandler::~ProcessInterfaceHandler() ../../src/libs/utils/qtcprocess.cpp:549 (libUtils.so.7+0x326422)
    #2 std::unique_ptr<Utils::Internal::ProcessInterfaceHandler, std::default_delete<Utils::Internal::ProcessInterfaceHandler> >::~unique_ptr() /usr/include/c++/9/bits/unique_ptr.h:81 (libUtils.so.7+0x32b0c0)
    #3 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b0c0)
    #4 Utils::Internal::QtcProcessPrivate::~QtcProcessPrivate() ../../src/libs/utils/qtcprocess.cpp:574 (libUtils.so.7+0x32b0c0)
    #5 Utils::QtcProcess::~QtcProcess() ../../src/libs/utils/qtcprocess.cpp:985 (libUtils.so.7+0x318b7b)
    #6 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:423 (libProjectExplorer.so+0x34a01f)
    #7 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #10 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b0c004d79a0 by thread T21:
    #0 operator() ../../src/libs/utils/qtcprocess.cpp:733 (libUtils.so.7+0x317c97)
    #1 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libUtils.so.7+0x317c97)
    #2 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libUtils.so.7+0x317c97)
    #3 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libUtils.so.7+0x317c97)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #5 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T21 'QThread' (tid=1303862, finished) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800519110 by thread T52:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libUtils.so.7+0x273ce2)
    #1 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273ce2)
    #2 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273ce2)
    #3 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #4 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #6 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #7 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b0800519110 by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 32 at 0x7b0800519100 allocated by thread T6:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:464 (libUtils.so.7+0x277cb0)
    #2 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #3 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #4 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #5 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303857, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0047c440 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x15435e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x15435e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x15435e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x15435e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15435e)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15435e)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:640 (libQmlJS.so.7+0x1fdf3f)
    #9 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #10 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #12 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0047c440 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0047c430 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080056a9e0 by thread T25:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QtPrivate::QSlotObject<void (Utils::Internal::QtcProcessPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:415 (libUtils.so.7+0x325619)
    #2 QtPrivate::QSlotObjectBase::destroyIfLastRef() ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 (libQt5Core.so.5+0x2f8236)
    #3 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:606 (libQt5Core.so.5+0x2f8236)
    #4 Utils::QtcProcess::~QtcProcess() ../../src/libs/utils/qtcprocess.cpp:985 (libUtils.so.7+0x318b7b)
    #5 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:423 (libProjectExplorer.so+0x34a01f)
    #6 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #7 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #8 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #9 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #10 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b080056a9e0 by thread T21:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 std::enable_if<(QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::IsPointerToMemberFunction&&(!std::is_convertible<void (Utils::Internal::QtcProcessPrivate::*)(), char const*>::value))&&(QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::ArgumentCount==(0)), bool>::type QMetaObject::invokeMethod<void (Utils::Internal::QtcProcessPrivate::*)()>(QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::Object*, void (Utils::Internal::QtcProcessPrivate::*)(), Qt::ConnectionType, QtPrivate::FunctionPointer<void (Utils::Internal::QtcProcessPrivate::*)()>::ReturnType*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs.h:481 (libUtils.so.7+0x32388c)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:776 (libUtils.so.7+0x32388c)
    #3 Utils::Internal::ProcessInterfaceHandler::handleStarted(long long, long long) ../../src/libs/utils/qtcprocess.cpp:753 (libUtils.so.7+0x32398c)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325268)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325268)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325268)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::ProcessInterface::*)(long long, long long)>::call(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325b08)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325b08)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325b08)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleStarted(Utils::Internal::LauncherStartedSignal const*) ../../src/libs/utils/launchersocket.cpp:181 (libUtils.so.7+0x273c1d)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:153 (libUtils.so.7+0x278d5a)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T21 'QThread' (tid=1303862, finished) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b8c000dac00 by thread T52:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libUtils.so.7+0x273cfd)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libUtils.so.7+0x273cfd)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libUtils.so.7+0x273cfd)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libUtils.so.7+0x273cfd)
    #5 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:525 (libUtils.so.7+0x273cfd)
    #6 Utils::Internal::LauncherReadyReadSignal::stdOut() const ../../src/libs/utils/launchersocket.cpp:68 (libUtils.so.7+0x273cfd)
    #7 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273cfd)
    #8 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #9 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #11 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #12 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b8c000dac00 by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Location is heap block of size 6538 at 0x7b8c000dac00 allocated by thread T6:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Utils::Internal::LauncherPacket::deserialize(QByteArray const&) ../../src/libs/utils/launcherpackets.cpp:49 (libUtils.so.7+0x271d19)
    #3 Utils::Internal::ReadyReadStandardOutputPacket Utils::Internal::LauncherPacket::extractPacket<Utils::Internal::ReadyReadStandardOutputPacket>(unsigned long long, QByteArray const&) ../../src/libs/utils/launcherpackets.h:86 (libUtils.so.7+0x277c69)
    #4 Utils::Internal::LauncherHandle::handleReadyReadStandardOutput(QByteArray const&) ../../src/libs/utils/launchersocket.cpp:460 (libUtils.so.7+0x277c69)
    #5 Utils::Internal::LauncherHandle::handlePacket(Utils::Internal::LauncherPacketType, QByteArray const&) ../../src/libs/utils/launchersocket.cpp:428 (libUtils.so.7+0x27a8e5)
    #6 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:669 (libUtils.so.7+0x27aa2f)
    #7 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #8 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #9 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #10 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #11 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #12 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #13 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #14 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #15 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #16 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #17 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #18 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #19 Utils::Internal::LauncherSocket::handleSocketDataAvailable() ../../src/libs/utils/launchersocket.cpp:681 (libUtils.so.7+0x27aa37)
    #20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::LauncherSocket::*)()>::call(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27aef7)
    #21 void QtPrivate::FunctionPointer<void (Utils::Internal::LauncherSocket::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::LauncherSocket::*)(), Utils::Internal::LauncherSocket*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27aef7)
    #22 QtPrivate::QSlotObject<void (Utils::Internal::LauncherSocket::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27aef7)
    #23 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #24 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)

  Thread T52 'QThread' (tid=1303857, running) created by thread T32 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:426 (libProjectExplorer.so+0x349edc)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T6 'QThread' (tid=1301552, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::SingletonWithOptionalDependencies<Utils::LauncherInterface, Utils::ProcessReaper>::instance() ../../src/libs/utils/singleton.h:75 (libUtils.so.7+0x270ba6)
    #3 Utils::LauncherInterface::registerHandle(QObject*, unsigned long long) ../../src/libs/utils/launcherinterface.cpp:238 (libUtils.so.7+0x270ba6)
    #4 Utils::Internal::ProcessLauncherImpl::ProcessLauncherImpl() ../../src/libs/utils/qtcprocess.cpp:429 (libUtils.so.7+0x322e9f)
    #5 Utils::Internal::QtcProcessPrivate::createProcessInterface() ../../src/libs/utils/qtcprocess.cpp:427 (libUtils.so.7+0x322e9f)
    #6 Utils::QtcProcess::start() ../../src/libs/utils/qtcprocess.cpp:1074 (libUtils.so.7+0x322e9f)
    #7 getClangdVersion ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:381 (libCppEditor.so+0x1bce9e)
    #8 CppEditor::ClangdSettings::clangdVersion(Utils::FilePath const&) ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:398 (libCppEditor.so+0x1bd444)
    #9 CppEditor::ClangdSettings::clangdVersion() const ../../src/plugins/cppeditor/cppcodemodelsettings.h:157 (libCppEditor.so+0x1bdcf3)
    #10 CppEditor::ClangdSettings::useClangd() const ../../src/plugins/cppeditor/cppcodemodelsettings.cpp:341 (libCppEditor.so+0x1bdcf3)
    #11 ClangCodeModel::Internal::ClangModelManagerSupport::ClangModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:154 (libClangCodeModel.so+0x110a7a)
    #12 ClangCodeModel::Internal::ClangModelManagerSupportProvider::createModelManagerSupport() ../../src/plugins/clangcodemodel/clangmodelmanagersupport.cpp:833 (libClangCodeModel.so+0x110bfa)
    #13 CppEditor::CppModelManager::activateClangCodeModel(CppEditor::ModelManagerSupportProvider*) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1617 (libCppEditor.so+0x2d971e)
    #14 ClangCodeModel::Internal::ClangCodeModelPlugin::initialize(QStringList const&, QString*) ../../src/plugins/clangcodemodel/clangcodemodelplugin.cpp:122 (libClangCodeModel.so+0x4cc36)
    #15 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #16 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #17 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #18 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #19 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c0047c458 by main thread:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15437f)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15437f)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:640 (libQmlJS.so.7+0x1fdf3f)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0047c458 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0047c430 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1c001fd010 by thread T25:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QMetaCallEvent::~QMetaCallEvent() kernel/qobject.cpp:607 (libQt5Core.so.5+0x2f825d)
    #2 Utils::QtcProcess::~QtcProcess() ../../src/libs/utils/qtcprocess.cpp:985 (libUtils.so.7+0x318b7b)
    #3 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:423 (libProjectExplorer.so+0x34a01f)
    #4 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #5 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #6 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #7 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1c001fd010 by thread T21:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMetaObject::invokeMethodImpl(QObject*, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, void*) kernel/qmetaobject.cpp:1550 (libQt5Core.so.5+0x2d158b)
    #2 Utils::Internal::ProcessInterfaceHandler::handleStarted(long long, long long) ../../src/libs/utils/qtcprocess.cpp:753 (libUtils.so.7+0x32398c)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325268)
    #4 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325268)
    #5 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325268)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<long long, long long>, void, void (Utils::ProcessInterface::*)(long long, long long)>::call(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325b08)
    #9 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(long long, long long)>::call<QtPrivate::List<long long, long long>, void>(void (Utils::ProcessInterface::*)(long long, long long), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325b08)
    #10 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(long long, long long), QtPrivate::List<long long, long long>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325b08)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 Utils::Internal::CallerHandle::handleStarted(Utils::Internal::LauncherStartedSignal const*) ../../src/libs/utils/launchersocket.cpp:181 (libUtils.so.7+0x273c1d)
    #14 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:153 (libUtils.so.7+0x278d5a)
    #15 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #17 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #18 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #20 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Thread T25 'Thread (pooled)' (tid=1303122, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, QThread::Priority, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:457 (libProjectExplorer.so+0x346e80)
    #3 QFuture<QHash<Utils::FilePath, QByteArray> > Utils::runAsync<void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment, void, QHash<Utils::FilePath, QByteArray> >(QThreadPool*, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()> const&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:546 (libProjectExplorer.so+0x346e80)
    #4 ProjectExplorer::ProcessExtraCompiler::runImpl(std::function<QByteArray ()> const&) ../../src/plugins/projectexplorer/extracompiler.cpp:394 (libProjectExplorer.so+0x346e80)
    #5 ProjectExplorer::ProcessExtraCompiler::run() ../../src/plugins/projectexplorer/extracompiler.cpp:360 (libProjectExplorer.so+0x3484b6)
    #6 CppEditor::CppProjectUpdater::update(ProjectExplorer::ProjectUpdateInfo const&, QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/cppprojectupdater.cpp:112 (libCppEditor.so+0x316428)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T21 'QThread' (tid=1303862, finished) created by thread T25 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 ProjectExplorer::ProcessExtraCompiler::runInThread(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&) ../../src/plugins/projectexplorer/extracompiler.cpp:422 (libProjectExplorer.so+0x349ebc)
    #8 void Utils::Internal::runAsyncMemberDispatch<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment, void>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:227 (libProjectExplorer.so+0x34a92b)
    #9 void Utils::Internal::runAsyncImpl<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()>, Utils::Environment>(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, void (ProjectExplorer::ProcessExtraCompiler::*&&)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*&&, Utils::FilePath&&, Utils::FilePath&&, QStringList&&, std::function<QByteArray ()>&&, Utils::Environment&&) ../../src/libs/utils/runextensions.h:303 (libProjectExplorer.so+0x34a92b)
    #10 void Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libProjectExplorer.so+0x34a92b)
    #11 Utils::Internal::AsyncJob<QHash<Utils::FilePath, QByteArray>, void (ProjectExplorer::ProcessExtraCompiler::*)(QFutureInterface<QHash<Utils::FilePath, QByteArray> >&, Utils::FilePath const&, Utils::FilePath const&, QStringList const&, std::function<QByteArray ()> const&, Utils::Environment const&), ProjectExplorer::ProcessExtraCompiler*, Utils::FilePath, Utils::FilePath, QStringList, std::function<QByteArray ()> const&, Utils::Environment>::run() ../../src/libs/utils/runextensions.h:352 (libProjectExplorer.so+0x34a92b)
    #12 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000403c58 by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15263e)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15263e)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15263e)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #15 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #16 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #17 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000403c58 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b1000403c40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000403c60 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #2 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #3 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #13 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #14 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #16 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #17 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #18 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #19 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000403c60 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b1000403c40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b20003f7300 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #7 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #8 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #15 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #16 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #17 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #18 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #19 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #20 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #21 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #22 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #23 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #24 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #25 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #26 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #27 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #28 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #29 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #30 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #31 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b20003f7300 by thread T61:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:482 (libQmlJS.so.7+0x1609ea)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 128 at 0x7b20003f7300 allocated by thread T61:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:482 (libQmlJS.so.7+0x1609ea)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000403c68 by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15266a)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15266a)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15266a)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #15 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #16 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #17 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b1000403c68 by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e708)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e708)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b1000403c40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000403c6c by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152686)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152686)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152686)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #15 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #16 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #17 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b1000403c6c by thread T61:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e723)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e723)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b1000403c40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000403c70 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #13 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #16 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #17 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #18 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000403c70 by thread T61:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107041)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x18e735)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x18e735)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b1000403c40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0800506e00 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #7 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #15 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #16 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #17 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #18 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #19 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #20 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #21 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #22 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #23 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #24 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #25 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #26 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #27 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #28 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #29 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #30 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800506e00 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b0800506e00 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b50001868c8 by thread T68:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libUtils.so.7+0x32345d)
    #1 Utils::Internal::QtcProcessPrivate::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:885 (libUtils.so.7+0x32345d)
    #2 Utils::Internal::ProcessInterfaceHandler::appendSignal(Utils::Internal::ProcessInterfaceSignal*) ../../src/libs/utils/qtcprocess.cpp:772 (libUtils.so.7+0x323861)
    #3 Utils::Internal::ProcessInterfaceHandler::handleReadyRead(QByteArray const&, QByteArray const&) ../../src/libs/utils/qtcprocess.cpp:759 (libUtils.so.7+0x323a67)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x3253b0)
    #5 void QtPrivate::FunctionPointer<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), Utils::Internal::ProcessInterfaceHandler*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x3253b0)
    #6 QtPrivate::QSlotObject<void (Utils::Internal::ProcessInterfaceHandler::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x3253b0)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QByteArray const&, QByteArray const&>, void, void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x325c50)
    #10 void QtPrivate::FunctionPointer<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&)>::call<QtPrivate::List<QByteArray const&, QByteArray const&>, void>(void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), Utils::ProcessInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x325c50)
    #11 QtPrivate::QSlotObject<void (Utils::ProcessInterface::*)(QByteArray const&, QByteArray const&), QtPrivate::List<QByteArray const&, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x325c50)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 Utils::Internal::CallerHandle::handleReadyRead(Utils::Internal::LauncherReadyReadSignal const*) ../../src/libs/utils/launchersocket.cpp:187 (libUtils.so.7+0x273d17)
    #15 Utils::Internal::CallerHandle::flushFor(Utils::Internal::CallerHandle::SignalType) ../../src/libs/utils/launchersocket.cpp:156 (libUtils.so.7+0x278d4a)
    #16 Utils::Internal::CallerHandle::flush() ../../src/libs/utils/launchersocket.cpp:112 (libUtils.so.7+0x278e5b)
    #17 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Utils::Internal::CallerHandle::*)()>::call(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libUtils.so.7+0x27add7)
    #18 void QtPrivate::FunctionPointer<void (Utils::Internal::CallerHandle::*)()>::call<QtPrivate::List<>, void>(void (Utils::Internal::CallerHandle::*)(), Utils::Internal::CallerHandle*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libUtils.so.7+0x27add7)
    #19 QtPrivate::QSlotObject<void (Utils::Internal::CallerHandle::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libUtils.so.7+0x27add7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #21 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)

  Previous write of size 8 at 0x7b50001868c8 by thread T67:
    #0 QList<Utils::Internal::ProcessInterfaceSignal*>::operator=(QList<Utils::Internal::ProcessInterfaceSignal*>&&) /usr/include/c++/9/bits/move.h:194 (libUtils.so.7+0x323fc1)
    #1 Utils::Internal::QtcProcessPrivate::flushFor(Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:819 (libUtils.so.7+0x323fc1)
    #2 Utils::Internal::ProcessInterfaceHandler::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:722 (libUtils.so.7+0x324238)
    #3 Utils::Internal::QtcProcessPrivate::waitForSignal(int, Utils::Internal::SignalType) ../../src/libs/utils/qtcprocess.cpp:791 (libUtils.so.7+0x324320)
    #4 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #5 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #6 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #7 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #8 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #9 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #11 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #12 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #13 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #14 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #15 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #17 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #18 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #19 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #20 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #21 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #22 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #23 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 472 at 0x7b5000186800 allocated by thread T67:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 Utils::QtcProcess::QtcProcess(QObject*) ../../src/libs/utils/qtcprocess.cpp:941 (libUtils.so.7+0x320e05)
    #2 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:142 (libProjectExplorer.so+0x36ce2e)
    #3 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #4 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #5 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #7 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #8 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #9 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #10 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #11 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #12 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #13 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #15 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #16 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #17 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #18 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #19 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T68 'QThread' (tid=1303901, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Utils::QtcProcess::waitForFinished(int) ../../src/libs/utils/qtcprocess.cpp:1463 (libUtils.so.7+0x324537)
    #3 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1785 (libUtils.so.7+0x324cf2)
    #4 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #5 ProjectExplorer::GccToolChain::gccHeaderPaths(Utils::FilePath const&, QStringList const&, Utils::Environment const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:192 (libProjectExplorer.so+0x36d186)
    #6 ProjectExplorer::GccToolChain::builtInHeaderPaths(Utils::Environment const&, Utils::FilePath const&, QStringList const&, std::function<QStringList (QStringList const&)>, std::shared_ptr<ProjectExplorer::Cache<QPair<Utils::Environment, QStringList>, QVector<ProjectExplorer::HeaderPath>, 16> >, Utils::Id, std::function<void (QVector<ProjectExplorer::HeaderPath>&)>, QStringList const&, QString const&, QString const&) ../../src/plugins/projectexplorer/gcctoolchain.cpp:649 (libProjectExplorer.so+0x36dd0e)
    #7 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:1703 (libProjectExplorer.so+0x36ef2a)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x36ef2a)
    #9 std::function<QVector<ProjectExplorer::HeaderPath> (QStringList const&, QString const&, QString const&)>::operator()(QStringList const&, QString const&, QString const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x43220f)
    #10 getHeaderPaths ../../src/plugins/cppeditor/projectpart.cpp:109 (libCppEditor.so+0x43220f)
    #11 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x43220f)
    #12 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #13 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #14 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #15 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #16 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #17 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #18 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #19 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #20 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 in QList<Utils::Internal::ProcessInterfaceSignal*>::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c0020b7f8 by thread T61:
    #0 QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x1699ee)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1699ee)
    #2 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #5 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020b7f8 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c0020b7f0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c0020d0e8 by thread T62:
    #0 QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x1699ee)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1699ee)
    #2 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #5 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020d0e8 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c0020d0e0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020b7f0 by thread T61:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1699d3)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020b7f0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c0020b7f0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c0020b868 by thread T61:
    #0 QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x1699ee)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1699ee)
    #2 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #5 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020b868 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020b860 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c0020b878 by thread T61:
    #0 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162a95)
    #1 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162a95)
    #2 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a95)
    #3 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020b878 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020b860 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsdocument.h:173 in QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c0020d0f8 by thread T62:
    #0 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162a95)
    #1 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162a95)
    #2 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a95)
    #3 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020d0f8 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c0020d0e0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsdocument.h:173 in QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020b880 by thread T61:
    #0 QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151479)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162aba)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162aba)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162aba)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020b880 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020b860 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020b888 by thread T61:
    #0 QList<QmlDirParser::Plugin>::QList(QList<QmlDirParser::Plugin> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x1511f9)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162ad0)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162ad0)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162ad0)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020b888 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020b860 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlDirParser::Plugin>::QList(QList<QmlDirParser::Plugin> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020d100 by thread T62:
    #0 QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151479)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162aba)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162aba)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162aba)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020d100 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020d0e0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020b890 by thread T61:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x162ae6)
    #2 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162ae6)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162ae6)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162ae6)
    #5 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020b890 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020b860 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020d110 by thread T62:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x162ae6)
    #2 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162ae6)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162ae6)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162ae6)
    #5 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020d110 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020d0e0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020d118 by thread T62:
    #0 QList<QSharedPointer<LanguageUtils::FakeMetaObject const> >::QList(QList<QSharedPointer<LanguageUtils::FakeMetaObject const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151909)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162afc)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162afc)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162afc)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020d118 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020d0e0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<LanguageUtils::FakeMetaObject const> >::QList(QList<QSharedPointer<LanguageUtils::FakeMetaObject const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b2000395d18 by thread T44:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)

  Previous write of size 8 at 0x7b2000395d18 by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #12 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #13 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #14 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #15 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #18 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #19 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #20 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #21 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #22 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #23 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #24 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 120 at 0x7b2000395d00 allocated by thread T67:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #12 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #13 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #14 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #15 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #18 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #19 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #20 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #21 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #22 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #23 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #24 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T44 'QThread' (tid=1303903, running) created by thread T67 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 bool std::__invoke_impl<bool, bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(std::__invoke_memfun_deref, bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:73 (libUtils.so.7+0x31f6e4)
    #3 std::__invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::__invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/bits/invoke.h:95 (libUtils.so.7+0x31f6e4)
    #4 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type std::invoke<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) /usr/include/c++/9/functional:81 (libUtils.so.7+0x31f6e4)
    #5 std::invoke_result<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>::type Utils::Internal::MeasureAndRun::measureAndRun<bool (Utils::Internal::QtcProcessPrivate::*)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType>(bool (Utils::Internal::QtcProcessPrivate::*&&)(int, Utils::Internal::SignalType), Utils::Internal::QtcProcessPrivate*&, int&, Utils::Internal::SignalType&&) ../../src/libs/utils/qtcprocess.cpp:81 (libUtils.so.7+0x31f6e4)
    #6 Utils::QtcProcess::waitForStarted(int) ../../src/libs/utils/qtcprocess.cpp:1446 (libUtils.so.7+0x31f6e4)
    #7 Utils::QtcProcess::runBlocking(Utils::EventLoopMode) ../../src/libs/utils/qtcprocess.cpp:1781 (libUtils.so.7+0x324c79)
    #8 runGcc ../../src/plugins/projectexplorer/gcctoolchain.cpp:149 (libProjectExplorer.so+0x36ceb7)
    #9 gccPredefinedMacros ../../src/plugins/projectexplorer/gcctoolchain.cpp:167 (libProjectExplorer.so+0x36f234)
    #10 operator() ../../src/plugins/projectexplorer/gcctoolchain.cpp:502 (libProjectExplorer.so+0x36f900)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:286 (libProjectExplorer.so+0x3702e5)
    #12 std::function<ProjectExplorer::ToolChain::MacroInspectionReport (QStringList const&)>::operator()(QStringList const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x4327a1)
    #13 getToolchainMacros ../../src/plugins/cppeditor/projectpart.cpp:123 (libCppEditor.so+0x4327a1)
    #14 CppEditor::ProjectPart::ProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.cpp:175 (libCppEditor.so+0x4327a1)
    #15 CppEditor::ProjectPart::create(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QString const&, QVector<CppEditor::ProjectFile> const&, Utils::Language, QFlags<Utils::LanguageExtension>, ProjectExplorer::RawProjectPartFlags const&, ProjectExplorer::ToolChainInfo const&) ../../src/plugins/cppeditor/projectpart.h:71 (libCppEditor.so+0x304026)
    #16 CppEditor::Internal::ProjectInfoGenerator::createProjectPart(Utils::FilePath const&, ProjectExplorer::RawProjectPart const&, QVector<CppEditor::ProjectFile> const&, QString const&, Utils::Language, QFlags<Utils::LanguageExtension>) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:162 (libCppEditor.so+0x304026)
    #17 CppEditor::Internal::ProjectInfoGenerator::createProjectParts(ProjectExplorer::RawProjectPart const&, Utils::FilePath const&) ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:118 (libCppEditor.so+0x30547c)
    #18 CppEditor::Internal::ProjectInfoGenerator::generate() ../../src/plugins/cppeditor/cppprojectinfogenerator.cpp:60 (libCppEditor.so+0x30681c)
    #19 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:85 (libCppEditor.so+0x311cd3)
    #20 runAsyncQFutureInterfaceDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x312646)
    #21 runAsyncMemberDispatch<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x312646)
    #22 runAsyncImpl<std::shared_ptr<const CppEditor::ProjectInfo>, CppEditor::CppProjectUpdater::update(const ProjectExplorer::ProjectUpdateInfo&, const QList<ProjectExplorer::ExtraCompiler*>&)::<lambda(QFutureInterface<std::shared_ptr<const CppEditor::ProjectInfo> >&)> > ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x312646)
    #23 runHelper<0> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x312646)
    #24 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x312646)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T67 'QThread' (tid=1303111, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:642 (libCMakeProjectManager.so+0xa0f01)
    #3 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #6 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #7 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #11 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #13 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020b898 by thread T61:
    #0 QList<QSharedPointer<LanguageUtils::FakeMetaObject const> >::QList(QList<QSharedPointer<LanguageUtils::FakeMetaObject const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151909)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162afc)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162afc)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162afc)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020b898 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020b860 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<LanguageUtils::FakeMetaObject const> >::QList(QList<QSharedPointer<LanguageUtils::FakeMetaObject const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020d120 by thread T62:
    #0 QList<QmlJS::ModuleApiInfo>::QList(QList<QmlJS::ModuleApiInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151ca9)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b0d)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b0d)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b0d)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020d120 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020d0e0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlJS::ModuleApiInfo>::QList(QList<QmlJS::ModuleApiInfo> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020b8a0 by thread T61:
    #0 QList<QmlJS::ModuleApiInfo>::QList(QList<QmlJS::ModuleApiInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151ca9)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b0d)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b0d)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b0d)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020b8a0 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020b860 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlJS::ModuleApiInfo>::QList(QList<QmlJS::ModuleApiInfo> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020d128 by thread T62:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x162b1e)
    #2 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b1e)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b1e)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b1e)
    #5 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020d128 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020d0e0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020d130 by thread T62:
    #0 QList<QmlDirParser::Import>::QList(QList<QmlDirParser::Import> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x150fa9)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b2c)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b2c)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b2c)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020d130 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020d0e0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlDirParser::Import>::QList(QList<QmlDirParser::Import> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020d138 by thread T62:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libQmlJS.so.7+0x162b35)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b35)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b35)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b35)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020d138 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020d0e0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0020b8a8 by thread T61:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x162b1e)
    #2 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b1e)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b1e)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b1e)
    #5 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c0020b8a8 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c0020b860 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00423ea8 by thread T62:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a40)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00423ea8 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00423ea0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00423eb0 by thread T62:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x150a69)
    #1 QHashNode<QString, QSharedPointer<QmlJS::Document const> >::QHashNode(QString const&, QSharedPointer<QmlJS::Document const> const&, unsigned int, QHashNode<QString, QSharedPointer<QmlJS::Document const> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x150a69)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a69)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #5 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #6 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00423eb0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00423ea0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080053d6c8 by main thread:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:121 (libQmlJS.so.7+0x1fefef)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #8 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #9 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 4 at 0x7b080053d6c8 by thread T55:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00511e74 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16003b)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16003b)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c00511e74 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::createNode(unsigned int, QString const&, QSharedPointer<QmlJS::Document const> const&, QHashNode<QString, QSharedPointer<QmlJS::Document const> >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16121f)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x16121f)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x16121f)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00511e60 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080053d6d8 by main thread:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:121 (libQmlJS.so.7+0x1fefef)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #8 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #9 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b080053d6d8 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x169273)
    #1 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b200039ca80 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154ae2)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154ae2)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154ae2)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154ae2)
    #5 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x154ae2)
    #6 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #7 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #8 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b200039ca80 by thread T55:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 128 at 0x7b200039ca80 allocated by thread T55:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004db708 by thread T61:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b08004db708 by thread T55:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08004db718 by thread T61:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b08004db718 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x169273)
    #1 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b24002fe888 by thread T61:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:578 (libQt5Core.so.5+0xf42cf)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b24002fe888 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c0050a278 by thread T61:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b0c0050a278 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c0050a280 by thread T61:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous atomic read of size 4 at 0x7b0c0050a280 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x16072e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x16072e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x16072e)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x16072e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x16072e)
    #6 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:754 (libQmlJS.so.7+0x16072e)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16072e)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c0050a290 by thread T61:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b0c0050a294 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 (libQmlJS.so.7+0x16074d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16074d)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16074d)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b440028ba40 by thread T61:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::rehash(int) tools/qhash.cpp:688 (libQt5Core.so.5+0xf4759)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b440028ba40 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x1607e4)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1607e4)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b5400210778 by thread T62:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b5400210778 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 536 at 0x7b5400210700 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00509a14 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16017a)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:589 (libQmlJS.so.7+0x16017a)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00509a10 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00509a00 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00509a20 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x160428)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x160428)
    #2 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:589 (libQmlJS.so.7+0x160428)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00509a20 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00509a00 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00509a08 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x160452)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x160452)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:589 (libQmlJS.so.7+0x160452)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00509a08 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00509a00 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b2400321578 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x160452)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x160452)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:589 (libQmlJS.so.7+0x160452)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b2400321578 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 136 at 0x7b2400321510 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080057e288 by thread T62:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x160452)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x160452)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:589 (libQmlJS.so.7+0x160452)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b080057e288 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b080057e280 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080057e298 by thread T62:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ac9)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x160483)
    #2 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:589 (libQmlJS.so.7+0x160483)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b080057e298 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ad4)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b080057e280 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b10003bf450 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b10003bf450 by thread T61:
    #0 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:722 (libQmlJS.so.7+0x18ad79)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18ad79)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ad79)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b10003e2c50 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b10003e2c50 by thread T61:
    #0 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:722 (libQmlJS.so.7+0x18ad79)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18ad79)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ad79)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c00509a28 by main thread:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15437f)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15437f)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:121 (libQmlJS.so.7+0x1fe5bb)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c00509a28 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00509a00 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c0054a498 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154327)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154327)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0054a498 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0054a470 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c005143f0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x15435e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x15435e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x15435e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x15435e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15435e)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15435e)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005143f0 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c005143e0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c00514408 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15437f)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15437f)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00514408 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c005143e0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00514400 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x15fa28)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa28)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa28)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00514400 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c005143e0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c005143e8 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005143e8 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c005143e0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b24002ff338 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b24002ff338 by thread T62:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 136 at 0x7b24002ff2e0 allocated by thread T62:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00527080 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154306)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154306)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154306)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154306)
    #5 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154306)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154306)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00527080 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00527070 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800537628 by thread T55:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #4 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #5 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800537628 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b0800537620 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c00527098 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154327)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154327)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00527098 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00527070 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800537638 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ac9)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x15fa7f)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa7f)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800537638 by thread T62:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ad4)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b0800537620 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0052ae90 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x15435e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x15435e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x15435e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x15435e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15435e)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15435e)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0052ae90 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0052ae80 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c0052aea8 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15437f)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15437f)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0052aea8 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0052ae80 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004d7ad8 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x169273)
    #1 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004d7ad8 by thread T62:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:195 (libQmlJS.so.7+0x160287)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libQmlJS.so.7+0x160287)
    #2 QList<QSharedPointer<QmlJS::Document const> >::swap(QList<QSharedPointer<QmlJS::Document const> >&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libQmlJS.so.7+0x160287)
    #3 QList<QSharedPointer<QmlJS::Document const> >::operator=(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:534 (libQmlJS.so.7+0x160287)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:591 (libQmlJS.so.7+0x160287)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08004d7ac0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 in QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b4000383e00 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x16927e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x16927e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x16927e)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x16927e)
    #5 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x16927e)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b4000383e00 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 256 at 0x7b4000383e00 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b4000383ec8 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::node_construct(QList<QSharedPointer<QmlJS::Document const> >::Node*, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libQmlJS.so.7+0x1693b9)
    #1 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libQmlJS.so.7+0x1693b9)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b4000383ec8 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 256 at 0x7b4000383e00 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 in QList<QSharedPointer<QmlJS::Document const> >::node_construct(QList<QSharedPointer<QmlJS::Document const> >::Node*, QSharedPointer<QmlJS::Document const> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0034fa48 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a40)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0034fa48 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c0034fa40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0034fa50 by thread T55:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x150a69)
    #1 QHashNode<QString, QSharedPointer<QmlJS::Document const> >::QHashNode(QString const&, QSharedPointer<QmlJS::Document const> const&, unsigned int, QHashNode<QString, QSharedPointer<QmlJS::Document const> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x150a69)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a69)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #5 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0034fa50 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c0034fa40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08005489e8 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b08005489e8 by thread T61:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0054a490 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x15fa28)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa28)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa28)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0054a490 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0054a470 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08005489f8 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b08005489f8 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x169273)
    #1 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0054a478 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0054a478 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c0054a470 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b24002ff360 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b24002ff360 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 136 at 0x7b24002ff2e0 allocated by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08004e89c8 by thread T61:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #4 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #5 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004e89c8 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 32 at 0x7b08004e89c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b24002ff7e0 by thread T62:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:578 (libQt5Core.so.5+0xf42cf)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b24002ff7e0 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08004e89d8 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ac9)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x15fa7f)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa7f)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08004e89d8 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 32 at 0x7b08004e89c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c0052ae88 by thread T62:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b0c0052ae88 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c005803c4 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16003b)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16003b)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c005803c4 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c005803b0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c0052aea0 by thread T62:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b0c0052aea0 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:928 (libQmlJS.so.7+0x168c6c)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100038fe58 by thread T55:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100038fe58 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100038fe40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100038fe60 by thread T55:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100038fe60 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100038fe40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100038fe50 by thread T55:
    #0 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18de1d)
    #1 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de1d)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100038fe50 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100038fe40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00580394 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16017a)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:589 (libQmlJS.so.7+0x16017a)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c00580394 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::createNode(unsigned int, QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16157a)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:761 (libQmlJS.so.7+0x16157a)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16157a)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00580380 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b400014e0d0 by thread T62:
    #0 QList<QSharedPointer<QmlJS::Document const> >::node_copy(QList<QSharedPointer<QmlJS::Document const> >::Node*, QList<QSharedPointer<QmlJS::Document const> >::Node*, QList<QSharedPointer<QmlJS::Document const> >::Node*) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:492 (libQmlJS.so.7+0x16b654)
    #1 QList<QSharedPointer<QmlJS::Document const> >::detach_helper(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:835 (libQmlJS.so.7+0x16b654)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b400014e0d0 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::node_construct(QList<QSharedPointer<QmlJS::Document const> >::Node*, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libQmlJS.so.7+0x1693b9)
    #1 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libQmlJS.so.7+0x1693b9)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 256 at 0x7b400014e000 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:492 in QList<QSharedPointer<QmlJS::Document const> >::node_copy(QList<QSharedPointer<QmlJS::Document const> >::Node*, QList<QSharedPointer<QmlJS::Document const> >::Node*, QList<QSharedPointer<QmlJS::Document const> >::Node*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0400079820 by thread T62:
    #0 QSharedPointer<QmlJS::Document const>::QSharedPointer(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libQmlJS.so.7+0x16b660)
    #1 QList<QSharedPointer<QmlJS::Document const> >::node_copy(QList<QSharedPointer<QmlJS::Document const> >::Node*, QList<QSharedPointer<QmlJS::Document const> >::Node*, QList<QSharedPointer<QmlJS::Document const> >::Node*) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:492 (libQmlJS.so.7+0x16b660)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:835 (libQmlJS.so.7+0x16b660)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #5 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #6 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0400079820 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<QSharedPointer<QmlJS::Document const> >::node_construct(QList<QSharedPointer<QmlJS::Document const> >::Node*, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libQmlJS.so.7+0x169344)
    #2 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libQmlJS.so.7+0x169344)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 16 at 0x7b0400079820 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<QSharedPointer<QmlJS::Document const> >::node_construct(QList<QSharedPointer<QmlJS::Document const> >::Node*, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libQmlJS.so.7+0x169344)
    #2 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libQmlJS.so.7+0x169344)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<QmlJS::Document const>::QSharedPointer(QSharedPointer<QmlJS::Document const> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0400079828 by thread T62:
    #0 QSharedPointer<QmlJS::Document const>::QSharedPointer(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libQmlJS.so.7+0x16b681)
    #1 QList<QSharedPointer<QmlJS::Document const> >::node_copy(QList<QSharedPointer<QmlJS::Document const> >::Node*, QList<QSharedPointer<QmlJS::Document const> >::Node*, QList<QSharedPointer<QmlJS::Document const> >::Node*) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:492 (libQmlJS.so.7+0x16b681)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper(int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:835 (libQmlJS.so.7+0x16b681)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #5 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #6 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0400079828 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<QSharedPointer<QmlJS::Document const> >::node_construct(QList<QSharedPointer<QmlJS::Document const> >::Node*, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libQmlJS.so.7+0x169344)
    #2 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libQmlJS.so.7+0x169344)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 16 at 0x7b0400079820 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QList<QSharedPointer<QmlJS::Document const> >::node_construct(QList<QSharedPointer<QmlJS::Document const> >::Node*, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libQmlJS.so.7+0x169344)
    #2 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libQmlJS.so.7+0x169344)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<QmlJS::Document const>::QSharedPointer(QSharedPointer<QmlJS::Document const> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b10003f9e90 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b10003f9e90 by thread T55:
    #0 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:722 (libQmlJS.so.7+0x18ad79)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18ad79)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ad79)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c004b0284 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16017a)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:589 (libQmlJS.so.7+0x16017a)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c004b0284 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::createNode(unsigned int, QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16157a)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:761 (libQmlJS.so.7+0x16157a)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16157a)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c004b0270 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080059ae98 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ac9)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x15fa7f)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa7f)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b080059ae98 by thread T62:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:195 (libQmlJS.so.7+0x160287)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libQmlJS.so.7+0x160287)
    #2 QList<QSharedPointer<QmlJS::Document const> >::swap(QList<QSharedPointer<QmlJS::Document const> >&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libQmlJS.so.7+0x160287)
    #3 QList<QSharedPointer<QmlJS::Document const> >::operator=(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:534 (libQmlJS.so.7+0x160287)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:591 (libQmlJS.so.7+0x160287)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b080059ae80 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b4000155100 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154ae2)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154ae2)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154ae2)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154ae2)
    #5 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x154ae2)
    #6 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x15fa7f)
    #7 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa7f)
    #8 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b4000155100 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 256 at 0x7b4000155100 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b100041e040 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154ae2)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154ae2)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154ae2)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154ae2)
    #5 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x154ae2)
    #6 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #7 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #8 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100041e040 by thread T55:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100041e040 allocated by thread T55:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800599d78 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x169273)
    #1 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800599d78 by thread T62:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:195 (libQmlJS.so.7+0x160287)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libQmlJS.so.7+0x160287)
    #2 QList<QSharedPointer<QmlJS::Document const> >::swap(QList<QSharedPointer<QmlJS::Document const> >&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libQmlJS.so.7+0x160287)
    #3 QList<QSharedPointer<QmlJS::Document const> >::operator=(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:534 (libQmlJS.so.7+0x160287)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:591 (libQmlJS.so.7+0x160287)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b0800599d60 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 in QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b400013a200 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x16927e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x16927e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x16927e)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x16927e)
    #5 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x16927e)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b400013a200 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 256 at 0x7b400013a200 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b400013a2e8 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::node_construct(QList<QSharedPointer<QmlJS::Document const> >::Node*, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libQmlJS.so.7+0x1693b9)
    #1 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libQmlJS.so.7+0x1693b9)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b400013a2e8 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 256 at 0x7b400013a200 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 in QList<QSharedPointer<QmlJS::Document const> >::node_construct(QList<QSharedPointer<QmlJS::Document const> >::Node*, QSharedPointer<QmlJS::Document const> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b64001401b0 by thread T62:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b64001401b0 by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 1048 at 0x7b6400140000 allocated by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b400037a4f8 by thread T61:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b400037a4f8 by thread T62:
    #0 QList<QSharedPointer<QmlJS::Document const> >::node_construct(QList<QSharedPointer<QmlJS::Document const> >::Node*, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:465 (libQmlJS.so.7+0x1693b9)
    #1 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:634 (libQmlJS.so.7+0x1693b9)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:170 in QListData::realloc_grow(int)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b54003205e0 by thread T61:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::rehash(int) tools/qhash.cpp:688 (libQt5Core.so.5+0xf4759)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b54003205e0 by thread T62:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x1607e4)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1607e4)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b54003206b0 by thread T61:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::rehash(int) tools/qhash.cpp:688 (libQt5Core.so.5+0xf4759)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b54003206b0 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::createNode(unsigned int, QString const&, QSharedPointer<QmlJS::Document const> const&, QHashNode<QString, QSharedPointer<QmlJS::Document const> >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:611 (libQmlJS.so.7+0x1611f5)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x1611f5)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1611f5)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b4000156310 by thread T61:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b4000156310 by thread T62:
    #0 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:951 (libQmlJS.so.7+0x16ba0b)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:170 in QListData::realloc_grow(int)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b64000d0798 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b64000d0798 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 1048 at 0x7b64000d0700 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b50001a9a00 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154ae2)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154ae2)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154ae2)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154ae2)
    #5 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x154ae2)
    #6 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #7 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #8 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b50001a9a00 by thread T61:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 512 at 0x7b50001a9a00 allocated by thread T61:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014530 by thread T70:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000014530 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014578 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000014578 by thread T70:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0059eec0 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543fb)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543fb)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543fb)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543fb)
    #5 QMap<QmlJS::ImportKey, QStringList>::QMap(QMap<QmlJS::ImportKey, QStringList> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x1543fb)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x1543fb)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543fb)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0059eec0 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c0059eec0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0059eef0 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154443)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154443)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154443)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154443)
    #5 QMap<QString, QmlJS::CoreImport>::QMap(QMap<QString, QmlJS::CoreImport> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x154443)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x154443)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154443)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0059eef0 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c0059eef0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000145c0 by thread T70:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 mapFinished ../../src/libs/utils/mapreduce.h:131 (libAutoTest.so+0x1a29f2)
    #5 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29f2)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29f2)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29f2)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29f2)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #12 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #13 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #14 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #15 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #16 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc0000145c0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00598238 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00598238 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00598230 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b74000f5000 by thread T57:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QThreadPoolThread::run() thread/qthreadpool.cpp:130 (libQt5Core.so.5+0xbbff0)

  Previous write of size 8 at 0x7b74000f5000 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QThreadPoolPrivate::enqueueTask(QRunnable*, int) thread/qthreadpool.cpp:222 (libQt5Core.so.5+0xbb6a2)
    #2 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #3 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #10 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #11 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #12 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #13 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #14 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T57 'Thread (pooled)' (tid=1303918, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b24001929b0 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b24001929b0 by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 136 at 0x7b2400192930 allocated by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08005a5148 by thread T62:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #4 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #5 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08005a5148 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08005a5140 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014608 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000014608 by thread T70:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 mapFinished ../../src/libs/utils/mapreduce.h:131 (libAutoTest.so+0x1a29f2)
    #5 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29f2)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29f2)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29f2)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29f2)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #12 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #13 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #14 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #15 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #16 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b24000dc520 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b24000dc520 by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 136 at 0x7b24000dc4a0 allocated by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005a5158 by thread T62:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ac9)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x15fa7f)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa7f)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08005a5158 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ad4)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08005a5140 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100042a730 by thread T57:
    #0 run ../../src/libs/utils/runextensions.h:344 (libAutoTest.so+0x19cf8a)
    #1 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b100042a730 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100042a700 allocated by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T57 'Thread (pooled)' (tid=1303918, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/runextensions.h:344 in run
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100042a7b0 by thread T22:
    #0 run ../../src/libs/utils/runextensions.h:344 (libAutoTest.so+0x19cf8a)
    #1 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b100042a7b0 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100042a780 allocated by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T22 'Thread (pooled)' (tid=1303919, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/runextensions.h:344 in run
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005a54b8 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ac9)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x15fa7f)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa7f)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08005a54b8 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ad4)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08005a54a0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014650 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #5 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000014650 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100042a718 by thread T57:
    #0 runHelper<0, 1> ../../src/libs/utils/runextensions.h:369 (libAutoTest.so+0x19cfec)
    #1 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cfec)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b100042a718 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100042a700 allocated by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T57 'Thread (pooled)' (tid=1303918, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/runextensions.h:369 in runHelper<0, 1>
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100042a798 by thread T22:
    #0 runHelper<0, 1> ../../src/libs/utils/runextensions.h:369 (libAutoTest.so+0x19cfec)
    #1 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cfec)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b100042a798 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100042a780 allocated by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T22 'Thread (pooled)' (tid=1303919, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/runextensions.h:369 in runHelper<0, 1>
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014698 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000014698 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #5 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100042a710 by thread T57:
    #0 std::reference_wrapper<Utils::FilePath>::operator Utils::FilePath&() const /usr/include/c++/9/bits/refwrap.h:326 (libAutoTest.so+0x19cff9)
    #1 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cff9)
    #2 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cff9)
    #3 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:295 (libAutoTest.so+0x19cff9)
    #4 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cff9)
    #5 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cff9)
    #6 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b100042a710 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100042a700 allocated by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T57 'Thread (pooled)' (tid=1303918, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/refwrap.h:326 in std::reference_wrapper<Utils::FilePath>::operator Utils::FilePath&() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100042a790 by thread T22:
    #0 std::reference_wrapper<Utils::FilePath>::operator Utils::FilePath&() const /usr/include/c++/9/bits/refwrap.h:326 (libAutoTest.so+0x19cff9)
    #1 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cff9)
    #2 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cff9)
    #3 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:295 (libAutoTest.so+0x19cff9)
    #4 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cff9)
    #5 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cff9)
    #6 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b100042a790 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100042a780 allocated by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T22 'Thread (pooled)' (tid=1303919, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/refwrap.h:326 in std::reference_wrapper<Utils::FilePath>::operator Utils::FilePath&() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000146e0 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc0000146e0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 1 at 0x7b180044aea0 by thread T57:
    #0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4165 (libtsan.so.0+0x526fc)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:199 (libQt5Core.so.5+0xbfed9)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b180044aea0 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #3 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #10 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #11 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #12 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #13 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #14 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 96 at 0x7b180044aea0 allocated by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #3 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #10 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #11 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #12 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #13 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #14 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T57 'Thread (pooled)' (tid=1303918, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:199 in QWaitCondition::wakeAll()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 1 at 0x7b180044acc0 by thread T22:
    #0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4165 (libtsan.so.0+0x526fc)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:199 (libQt5Core.so.5+0xbfed9)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b180044acc0 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #3 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #10 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #11 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #12 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #13 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #14 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 96 at 0x7b180044acc0 allocated by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #3 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #10 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #11 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #12 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #13 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #14 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T22 'Thread (pooled)' (tid=1303919, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:199 in QWaitCondition::wakeAll()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014728 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000014728 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b180044aec8 by thread T57 (mutexes: write M416155358592282272):
    #0 pthread_cond_broadcast ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1201 (libtsan.so.0+0x3e306)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:201 (libQt5Core.so.5+0xbff03)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b180044aec8 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #3 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #10 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #11 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #12 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #13 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #14 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 96 at 0x7b180044aea0 allocated by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #3 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #10 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #11 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #12 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #13 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #14 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Mutex M416155358592282272 is already destroyed.

  Thread T57 'Thread (pooled)' (tid=1303918, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:201 in QWaitCondition::wakeAll()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b180044ace8 by thread T22 (mutexes: write M462598729749540032):
    #0 pthread_cond_broadcast ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1201 (libtsan.so.0+0x3e306)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:201 (libQt5Core.so.5+0xbff03)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b180044ace8 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #3 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #10 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #11 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #12 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #13 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #14 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 96 at 0x7b180044acc0 allocated by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #3 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #10 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #11 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #12 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #13 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #14 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Mutex M462598729749540032 is already destroyed.

  Thread T22 'Thread (pooled)' (tid=1303919, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:201 in QWaitCondition::wakeAll()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014740 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000014740 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b100042a700 by thread T57:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~AsyncJob ../../src/libs/utils/runextensions.h:338 (libAutoTest.so+0x19f3a0)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:112 (libQt5Core.so.5+0xbbd4d)

  Previous write of size 8 at 0x7b100042a700 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T57 'Thread (pooled)' (tid=1303918, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b100042a780 by thread T22:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 ~AsyncJob ../../src/libs/utils/runextensions.h:338 (libAutoTest.so+0x19f3a0)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:112 (libQt5Core.so.5+0xbbd4d)

  Previous write of size 8 at 0x7b100042a780 by thread T70:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync_internal<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:405 (libAutoTest.so+0x1a1205)
    #2 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:457 (libAutoTest.so+0x1a1205)
    #3 runAsync<std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)> >, std::reference_wrapper<Utils::FilePath> > ../../src/libs/utils/runextensions.h:546 (libAutoTest.so+0x1a1205)
    #4 schedule ../../src/libs/utils/mapreduce.h:113 (libAutoTest.so+0x1a1205)
    #5 mapFinished ../../src/libs/utils/mapreduce.h:129 (libAutoTest.so+0x1a29bf)
    #6 operator() ../../src/libs/utils/mapreduce.h:102 (libAutoTest.so+0x1a29bf)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libAutoTest.so+0x1a29bf)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libAutoTest.so+0x1a29bf)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libAutoTest.so+0x1a29bf)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #13 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #14 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #15 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #16 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #17 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T22 'Thread (pooled)' (tid=1303919, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014788 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000014788 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014860 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000014860 by thread T70:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000148f0 by thread T70:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)

  Previous write of size 8 at 0x7bc0000148f0 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T70 'QThread' (tid=1303916, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014908 by thread T65:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000014908 by thread T70:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T65 'QThread' (tid=1303921, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T70 'QThread' (tid=1303916, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::parsePostponedFiles() ../../src/plugins/autotest/testcodeparser.cpp:474 (libAutoTest.so+0x1a6a8e)
    #3 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #4 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #5 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #7 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #8 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014968 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000014968 by thread T65:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T65 'QThread' (tid=1303921, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000149b0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc0000149b0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014a40 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #5 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000014a40 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 std::function<bool (double)>::operator()(double) const /usr/include/c++/9/bits/std_function.h:688 (libQmlJS.so.7+0x1d9c40)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:929 (libQmlJS.so.7+0x1d9c40)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014ad0 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000014ad0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #5 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014b18 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #5 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000014b18 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014b78 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000014b78 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #5 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014bc0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #5 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000014bc0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014de8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #5 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000014de8 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014e60 by thread T45:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000014e60 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T45 'QThread' (tid=1303922, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c005d5d14 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16003b)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16003b)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005d5d10 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c005d5d00 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000014ec0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000014ec0 by thread T45:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T45 'QThread' (tid=1303922, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c005d5d20 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x169595)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #2 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005d5d20 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c005d5d00 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c005d5d08 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x1694cd)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005d5d08 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c005d5d00 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b64000d0300 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b64000d0300 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 1048 at 0x7b64000d0200 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c005d6df0 by thread T55:
    #0 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dea3)
    #1 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005d6df0 by thread T61:
    #0 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e819)
    #1 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #2 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c005d6de0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100042f250 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100042f250 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100042f240 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100043a9c8 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100043a9c8 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #3 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #4 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100043a9c0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100043aad0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100043aad0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100043aac0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100043a490 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100043a490 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100043a480 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100043a2d0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100043a2d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100043a2c0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000439f88 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000439f88 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000439f80 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100043a010 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100043a010 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100043a000 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000439fd0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000439fd0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000439fc0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000439f48 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000439f48 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000439f40 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000439e10 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000439e10 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000439e00 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c005d6db0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x18acc7)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x18acc7)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x18acc7)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x18acc7)
    #5 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acc7)
    #6 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acc7)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acc7)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005d6db0 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c005d6db0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c005d6dc0 by thread T55:
    #0 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dde3)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005d6dc0 by thread T61:
    #0 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef19)
    #1 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c005d6db0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100043ac18 by thread T55:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100043ac18 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100043ac00 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100043ac20 by thread T55:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100043ac20 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100043ac00 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c005d6de0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x18e9e6)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x18e9e6)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x18e9e6)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x18e9e6)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18e9e6)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18e9e6)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005d6de0 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c005d6de0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00446220 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543fb)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543fb)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543fb)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543fb)
    #5 QMap<QmlJS::ImportKey, QStringList>::QMap(QMap<QmlJS::ImportKey, QStringList> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x1543fb)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x1543fb)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543fb)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00446220 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00446220 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c004470f0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154443)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154443)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154443)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154443)
    #5 QMap<QString, QmlJS::CoreImport>::QMap(QMap<QString, QmlJS::CoreImport> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x154443)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x154443)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154443)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c004470f0 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c004470f0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015508 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:595 (libQmlJS.so.7+0x1fc45e)
    #5 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000015508 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015538 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000015538 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:595 (libQmlJS.so.7+0x1fc45e)
    #5 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015580 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000015580 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015610 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000015610 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015760 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #5 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000015760 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 std::function<bool (double)>::operator()(double) const /usr/include/c++/9/bits/std_function.h:688 (libQmlJS.so.7+0x1d9c40)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:929 (libQmlJS.so.7+0x1d9c40)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000157a8 by thread T19:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc0000157a8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #5 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T19 'QThread' (tid=1303926, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000157f0 by thread T58:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc0000157f0 by thread T19:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T58 'QThread' (tid=1303923, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T19 'QThread' (tid=1303926, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015820 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000015820 by thread T40:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T40 'QThread' (tid=1303925, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015868 by thread T19:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)

  Previous write of size 8 at 0x7bc000015868 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T19 'QThread' (tid=1303926, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015940 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000015940 by thread T9:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T9 'QThread' (tid=1303927, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015cd0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #5 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000015cd0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b10004237c8 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b10004237c8 by thread T55:
    #0 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:719 (libQmlJS.so.7+0x18ad4c)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18ad4c)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ad4c)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015ce8 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000015ce8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #5 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b10003fa688 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b10003fa688 by thread T55:
    #0 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:719 (libQmlJS.so.7+0x18ad4c)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18ad4c)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ad4c)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:696 (libQmlJS.so.7+0x1ca7a1)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b10003fa698 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b10003fa698 by thread T55:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18ad6b)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18ad6b)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:716 (libQmlJS.so.7+0x18ad6b)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18ad6b)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ad6b)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:696 (libQmlJS.so.7+0x1ca7a1)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015e08 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:595 (libQmlJS.so.7+0x1fc45e)
    #5 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000015e08 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015e50 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000015e50 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:595 (libQmlJS.so.7+0x1fc45e)
    #5 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015e68 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #5 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000015e68 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1000423858 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b1000423858 by thread T55:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18ad6b)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18ad6b)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:716 (libQmlJS.so.7+0x18ad6b)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18ad6b)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ad6b)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015ee0 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000015ee0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #5 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000015fb8 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000015fb8 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 std::function<bool (double)>::operator()(double) const /usr/include/c++/9/bits/std_function.h:688 (libQmlJS.so.7+0x1d9c40)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:929 (libQmlJS.so.7+0x1d9c40)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c0016f4f8 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x1523aa)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #4 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c0016f4f8 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c0016f4f0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c0016f500 by main thread:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x1523d3)
    #1 QHashNode<QString, QmlJS::LibraryInfo>::QHashNode(QString const&, QmlJS::LibraryInfo const&, unsigned int, QHashNode<QString, QmlJS::LibraryInfo>*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x1523d3)
    #2 QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x1523d3)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #6 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c0016f500 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c0016f4f0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0056f8f0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x163a1b)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x163a1b)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x163a1b)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x163a1b)
    #5 QHash<QString, QmlJS::LibraryInfo>::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x163a1b)
    #6 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x163a1b)
    #7 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a1b)
    #8 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #9 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0056f8f0 by main thread:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c0056f8e0 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #4 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0056f904 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 (libQmlJS.so.7+0x163a41)
    #1 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a41)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a41)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0056f900 by main thread:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c0056f8e0 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #4 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0056f8e8 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x16996d)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x163a61)
    #2 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a61)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a61)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0056f8e8 by main thread:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c0056f8e0 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #4 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b440060cdf8 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x169984)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x163a61)
    #2 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a61)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a61)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b440060cdf8 by main thread:
    [failed to restore the stack]

  Location is heap block of size 296 at 0x7b440060cd40 allocated by main thread:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #4 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c00226758 by thread T55:
    #0 QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x1699ee)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1699ee)
    #2 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x163a61)
    #3 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a61)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a61)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c00226758 by main thread:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c00226750 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #4 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c00226750 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1699d3)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x163a61)
    #2 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a61)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a61)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c00226750 by main thread:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c00226750 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #4 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00463b10 by thread T55:
    #0 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dea3)
    #1 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00463b10 by main thread:
    [failed to restore the stack]

  Location is heap block of size 40 at 0x7b0c00463b00 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #8 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #9 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #10 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #11 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #12 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #13 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #14 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000400a90 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000400a90 by main thread:
    [failed to restore the stack]

  Location is heap block of size 64 at 0x7b1000400a80 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #8 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #9 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #10 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #12 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #15 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000457748 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000457748 by main thread:
    [failed to restore the stack]

  Location is heap block of size 64 at 0x7b1000457740 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #9 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #10 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #11 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #13 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c005d7dd0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x18acc7)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x18acc7)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x18acc7)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x18acc7)
    #5 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acc7)
    #6 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acc7)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acc7)
    #8 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #9 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #10 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005d7dd0 by main thread:
    [failed to restore the stack]

  Location is heap block of size 40 at 0x7b0c005d7dd0 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #9 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #11 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c005d7de0 by thread T55:
    #0 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dde3)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005d7de0 by main thread:
    [failed to restore the stack]

  Location is heap block of size 40 at 0x7b0c005d7dd0 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #9 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #11 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100042d218 by thread T55:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #8 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #9 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100042d218 by main thread:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b100042d200 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #9 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #10 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #11 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #13 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100042d208 by thread T55:
    #0 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18ddfb)
    #1 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18ddfb)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100042d208 by main thread:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b100042d200 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #9 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #10 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #11 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #12 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #13 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #14 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100042da20 by thread T55:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #9 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #10 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #11 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100042da20 by main thread:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b100042da00 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #12 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #13 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #15 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #16 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #17 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #18 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #19 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #20 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #21 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #22 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #23 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #24 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000163c0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #5 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc0000163c0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100042d220 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #2 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #3 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #14 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #15 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #16 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #17 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #18 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #19 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #20 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #21 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #22 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #24 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #25 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #26 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #27 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #28 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100042d220 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100042d200 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b2000400880 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #7 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #8 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #15 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #16 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #17 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #18 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #19 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #20 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #21 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #22 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #23 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #24 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #25 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #26 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #27 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #28 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #29 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #30 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #31 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #32 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #33 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b2000400880 by thread T62:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:482 (libQmlJS.so.7+0x1609ea)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 128 at 0x7b2000400880 allocated by thread T62:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:482 (libQmlJS.so.7+0x1609ea)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100042d228 by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15266a)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15266a)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15266a)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #13 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #14 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #16 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #17 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #18 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #19 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b100042d228 by thread T62:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e708)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e708)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100042d200 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100042d22c by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152686)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152686)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152686)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #13 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #14 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #16 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #17 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #18 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #19 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b100042d22c by thread T62:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e723)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e723)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100042d200 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100042d230 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #13 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #14 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #15 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #17 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #18 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #19 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #20 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100042d230 by thread T62:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107041)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x18e735)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x18e735)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100042d200 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08005c1fa0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #7 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #15 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #16 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #17 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #18 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #19 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #20 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #21 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #22 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #23 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #24 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #25 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #26 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #27 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #28 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #29 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #30 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #31 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #32 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08005c1fa0 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08005c1fa0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b54001a04c8 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x169984)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x163a61)
    #2 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a61)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a61)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #6 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b54001a04c8 by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 536 at 0x7b54001a0400 allocated by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c005efdb0 by main thread:
    #0 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dea3)
    #1 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #6 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c005efdb0 by thread T55:
    #0 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e819)
    #1 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #2 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c005efda0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000453cd0 by main thread:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #7 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1000453cd0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000453cc0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #8 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #9 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100044d210 by main thread:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #7 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b100044d210 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #3 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #4 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100044d200 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #9 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #10 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004440d0 by main thread:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #7 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b10004440d0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #8 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #9 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10004440c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #10 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #11 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000444488 by main thread:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #7 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1000444488 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #9 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #10 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000444480 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #11 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #12 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #13 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000444448 by main thread:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #7 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1000444448 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #10 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #11 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000444440 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #12 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #13 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #14 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000444348 by main thread:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #7 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1000444348 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #11 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #12 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #13 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000444340 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #13 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #14 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #15 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004443c8 by main thread:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #7 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b10004443c8 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #12 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #13 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #14 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10004443c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #14 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #15 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #16 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000444390 by main thread:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #7 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1000444390 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #13 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #14 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #15 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000444380 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #15 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #16 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #17 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004443e0 by main thread:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x18aa44)
    #1 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x18aa44)
    #2 QMap<QString, QmlJS::CoreImport>::value(QString const&, QmlJS::CoreImport const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:662 (libQmlJS.so.7+0x18aa44)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:772 (libQmlJS.so.7+0x18aa44)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #7 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b10004443e0 by thread T55:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x15405a)
    #1 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x15405a)
    #2 QMapData<QString, QmlJS::CoreImport>::createNode(QString const&, QmlJS::CoreImport const&, QMapNode<QString, QmlJS::CoreImport>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x15405a)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15405a)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #15 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #16 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #17 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10004443c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #14 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #15 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #16 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004443e8 by main thread:
    #0 QList<QmlJS::Export>::QList(QList<QmlJS::Export> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x153cf9)
    #1 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x18aa74)
    #2 QMap<QString, QmlJS::CoreImport>::value(QString const&, QmlJS::CoreImport const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:662 (libQmlJS.so.7+0x18aa74)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:772 (libQmlJS.so.7+0x18aa74)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #7 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b10004443e8 by thread T55:
    #0 QList<QmlJS::Export>::QList(QList<QmlJS::Export> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x153d04)
    #1 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x154083)
    #2 QMapData<QString, QmlJS::CoreImport>::createNode(QString const&, QmlJS::CoreImport const&, QMapNode<QString, QmlJS::CoreImport>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x154083)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x154083)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #15 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #16 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #17 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10004443c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #14 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #15 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #16 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlJS::Export>::QList(QList<QmlJS::Export> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10004443f0 by main thread:
    #0 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x18aa8a)
    #1 QMap<QString, QmlJS::CoreImport>::value(QString const&, QmlJS::CoreImport const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:662 (libQmlJS.so.7+0x18aa8a)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:772 (libQmlJS.so.7+0x18aa8a)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #6 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 4 at 0x7b10004443f0 by thread T55:
    #0 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x15408d)
    #1 QMapData<QString, QmlJS::CoreImport>::createNode(QString const&, QmlJS::CoreImport const&, QMapNode<QString, QmlJS::CoreImport>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x15408d)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15408d)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #14 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #15 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #16 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10004443c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #14 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #15 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #16 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:160 in QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004443f8 by main thread:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libQmlJS.so.7+0x18aa9d)
    #1 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x18aa9d)
    #2 QMap<QString, QmlJS::CoreImport>::value(QString const&, QmlJS::CoreImport const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:662 (libQmlJS.so.7+0x18aa9d)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:772 (libQmlJS.so.7+0x18aa9d)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:619 (libQmlJS.so.7+0x1fcf92)
    #7 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #8 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #9 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #10 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b10004443f8 by thread T55:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libQmlJS.so.7+0x1540b5)
    #1 QmlJS::CoreImport::CoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.h:160 (libQmlJS.so.7+0x1540b5)
    #2 QMapData<QString, QmlJS::CoreImport>::createNode(QString const&, QmlJS::CoreImport const&, QMapNode<QString, QmlJS::CoreImport>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1540b5)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1540b5)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #15 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #16 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #17 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10004443c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #14 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #15 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #16 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000166c0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc0000166c0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #5 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1000456448 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b1000456448 by thread T55:
    #0 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:719 (libQmlJS.so.7+0x18f542)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18f542)
    #2 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:831 (libQmlJS.so.7+0x18bf8b)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000166f0 by thread T41:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc0000166f0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T41 'QThread' (tid=1303931, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1000456458 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b1000456458 by thread T55:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18f55c)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18f55c)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:716 (libQmlJS.so.7+0x18f55c)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18f55c)
    #5 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:831 (libQmlJS.so.7+0x18bf8b)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1000406f48 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b1000406f48 by thread T55:
    #0 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18ddfb)
    #1 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18ddfb)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:696 (libQmlJS.so.7+0x1ca7a1)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1000406f58 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QMapDataBase::freeNodeAndRebalance(QMapNodeBase*) tools/qmap.cpp:293 (libQt5Core.so.5+0xf6c7b)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b1000406f58 by thread T55:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #8 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:696 (libQmlJS.so.7+0x1ca7a1)
    #9 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1096 (libQmlJS.so.7+0x1dbb2d)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qmap.cpp:293 in QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc0000168e8 by thread T12:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc0000168e8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #5 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T12 'QThread' (tid=1303932, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadQmltypesFile(QList<Utils::FilePath> const&, Utils::FilePath const&, QmlJS::LibraryInfo) ../../src/libs/qmljs/qmljsplugindumper.cpp:590 (libQmlJS.so.7+0x1fd2d1)
    #3 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:648 (libQmlJS.so.7+0x1fe32d)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c005fe6c4 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16003b)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16003b)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005fe6c0 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c005fe6b0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c005fe6d0 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x169595)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #2 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005fe6d0 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c005fe6b0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000016ba0 by thread T21:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000016ba0 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #5 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T21 'QThread' (tid=1303924, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadDependencies(QList<Utils::FilePath> const&, QSharedPointer<QSet<Utils::FilePath> >) const ../../src/libs/qmljs/qmljsplugindumper.cpp:455 (libQmlJS.so.7+0x1fa513)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:595 (libQmlJS.so.7+0x1fc45e)
    #4 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c005fe6b8 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x1694cd)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c005fe6b8 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c005fe6b0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b6400100c80 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b6400100c80 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 1048 at 0x7b6400100900 allocated by thread T62:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000476a50 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000476a50 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #3 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #4 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000476a40 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000476e50 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000476e50 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000476e40 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000477050 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000477050 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000477040 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000477250 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000477250 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000477240 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000477450 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000477450 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000477440 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000477550 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000477550 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000477540 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000477648 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000477648 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000477640 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000477690 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000477690 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000477680 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004776d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10004776d0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10004776c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c006339f0 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x18acc7)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x18acc7)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x18acc7)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x18acc7)
    #5 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acc7)
    #6 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acc7)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acc7)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c006339f0 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 40 at 0x7b0c006339f0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00633a00 by thread T61:
    #0 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dde3)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00633a00 by thread T62:
    #0 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef19)
    #1 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #3 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c006339f0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000457098 by thread T61:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000457098 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000457080 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004570a0 by thread T61:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10004570a0 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000457080 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00633a20 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x18e9e6)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x18e9e6)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x18e9e6)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x18e9e6)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18e9e6)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18e9e6)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00633a20 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00633a20 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000016c30 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:700 (libQmlJS.so.7+0x1ca808)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000016c30 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0062b784 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a40)
    #1 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a40)
    #2 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c0062b784 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c0062b770 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0062b784 by thread T61:
    #0 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a40)
    #1 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a40)
    #2 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c0062b784 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c0062b770 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000474b98 by thread T62:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15263e)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15263e)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15263e)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #13 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #14 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #15 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000474b98 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000474b80 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18f5ac)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18f5ac)
    #5 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:836 (libQmlJS.so.7+0x18bcc3)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000474ba0 by thread T62:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #2 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #3 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #14 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #15 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #16 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #17 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #18 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #19 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #20 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #21 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #22 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #23 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #26 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #28 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #29 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000474ba0 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000474b80 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18f5ac)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18f5ac)
    #5 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:836 (libQmlJS.so.7+0x18bcc3)
    #6 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #7 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #8 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #9 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08005eb7c0 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #7 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #8 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #15 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #16 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #17 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #18 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #19 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #20 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #21 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #22 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #23 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #24 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #25 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #26 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #27 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #28 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #29 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #30 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #31 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #32 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #33 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #34 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08005eb7c0 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 32 at 0x7b08005eb7c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:569 (libQmlJS.so.7+0x1660b5)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000016c60 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:595 (libQmlJS.so.7+0x1fc45e)
    #5 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000016c60 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::loadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1270 (libQmlJS.so.7+0x1cac28)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:863 (libQmlJS.so.7+0x1d5098)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100049fc88 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100049fc88 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100049fc80 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100049fcc8 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100049fcc8 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100049fcc0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100049fd08 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100049fd08 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100049fd00 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100049fd48 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100049fd48 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100049fd40 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100049fd88 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100049fd88 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100049fd80 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100049fdd0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100049fdd0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100049fdc0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100049fe90 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100049fe90 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100049fe80 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c006647e0 by thread T55:
    #0 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dde3)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c006647e0 by thread T62:
    #0 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef19)
    #1 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #3 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c006647d0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000016d20 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000016d20 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #5 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #6 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000456498 by thread T61:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000456498 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b1000456480 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004564a0 by thread T61:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10004564a0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b1000456480 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000456488 by thread T61:
    #0 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18ddfb)
    #1 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18ddfb)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000456488 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b1000456480 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c00663440 by thread T62:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b0c00663444 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 (libQmlJS.so.7+0x16074d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16074d)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16074d)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000016d80 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bc000016d80 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000012aa8 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000012aa8 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b24002ae010 by main thread:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QScopedPointerPodDeleter::cleanup(void*) ../../../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:81 (libQt5XcbQpa.so.5+0x43308)
    #2 QScopedPointer<xcb_generic_event_t, QScopedPointerPodDeleter>::~QScopedPointer() ../../../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107 (libQt5XcbQpa.so.5+0x43308)
    #3 QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:997 (libQt5XcbQpa.so.5+0x43308)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b24002ae010 by thread T1 (mutexes: write M842):
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 <null> <null> (libxcb.so.1+0xe0c5)

  Mutex M842 (0x7ba800000018) created at:
    #0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1220 (libtsan.so.0+0x4a616)
    #1 xcb_connect_to_fd <null> (libxcb.so.1+0xb8e7)
    #2 main ../../src/app/main.cpp:554 (qtcreator+0xb998)

  Thread T1 'QXcbEventQueue' (tid=1301467, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 main ../../src/app/main.cpp:554 (qtcreator+0xb998)

SUMMARY: ThreadSanitizer: data race ../../../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:81 in QScopedPointerPodDeleter::cleanup(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000012b20 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000012b20 by thread T34:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T34 'QThread' (tid=1303928, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadDependencies(QList<Utils::FilePath> const&, QSharedPointer<QSet<Utils::FilePath> >) const ../../src/libs/qmljs/qmljsplugindumper.cpp:455 (libQmlJS.so.7+0x1fa513)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:595 (libQmlJS.so.7+0x1fc45e)
    #4 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b24002ae150 by main thread:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QScopedPointerPodDeleter::cleanup(void*) ../../../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:81 (libQt5XcbQpa.so.5+0x43308)
    #2 QScopedPointer<xcb_generic_event_t, QScopedPointerPodDeleter>::~QScopedPointer() ../../../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107 (libQt5XcbQpa.so.5+0x43308)
    #3 QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/iivlev/Qt_new/5.15.2/Src/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:997 (libQt5XcbQpa.so.5+0x43308)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 1 at 0x7b24002ae157 by thread T1 (mutexes: write M842):
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 <null> <null> (libxcb.so.1+0xdc3c)

  Mutex M842 (0x7ba800000018) created at:
    #0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1220 (libtsan.so.0+0x4a616)
    #1 xcb_connect_to_fd <null> (libxcb.so.1+0xb8e7)
    #2 main ../../src/app/main.cpp:554 (qtcreator+0xb998)

  Thread T1 'QXcbEventQueue' (tid=1301467, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 main ../../src/app/main.cpp:554 (qtcreator+0xb998)

SUMMARY: ThreadSanitizer: data race ../../../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:81 in QScopedPointerPodDeleter::cleanup(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bc000012b68 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bc000012b68 by thread T34:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #5 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 65520 at 0x7bc000010000 allocated by main thread:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 Valgrind::Internal::CostView::CostView(QWidget*) ../../src/plugins/valgrind/callgrindcostview.cpp:48 (libValgrind.so+0x6a0a2)
    #3 Valgrind::Internal::CallgrindToolPrivate::CallgrindToolPrivate() ../../src/plugins/valgrind/callgrindtool.cpp:324 (libValgrind.so+0x7ae66)
    #4 Valgrind::Internal::CallgrindTool::CallgrindTool() ../../src/plugins/valgrind/callgrindtool.cpp:983 (libValgrind.so+0x7e430)
    #5 Valgrind::Internal::ValgrindPluginPrivate::ValgrindPluginPrivate() ../../src/plugins/valgrind/valgrindplugin.cpp:72 (libValgrind.so+0xbaaed)
    #6 Valgrind::Internal::ValgrindPlugin::initialize(QStringList const&, QString*) ../../src/plugins/valgrind/valgrindplugin.cpp:88 (libValgrind.so+0xbaaed)
    #7 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #8 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #9 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #10 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #11 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T34 'QThread' (tid=1303928, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::PluginDumper::loadDependencies(QList<Utils::FilePath> const&, QSharedPointer<QSet<Utils::FilePath> >) const ../../src/libs/qmljs/qmljsplugindumper.cpp:455 (libQmlJS.so.7+0x1fa513)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:595 (libQmlJS.so.7+0x1fc45e)
    #4 operator() ../../src/libs/utils/runextensions.h:635 (libQmlJS.so.7+0x1fd0de)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1fd0de)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1fd0de)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1fd0de)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #9 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100049df58 by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15263e)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15263e)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15263e)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #13 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #16 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #17 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #18 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #20 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100049df58 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100049df40 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100049df60 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #2 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #3 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #13 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #14 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #15 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #17 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #18 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #19 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #20 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #21 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #22 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #23 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #24 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #25 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #26 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #27 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #28 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #29 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100049df60 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100049df40 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b20003f5800 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x152661)
    #7 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152661)
    #8 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152661)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152661)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #15 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #16 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #17 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #18 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #19 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #20 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #21 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #22 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #23 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #24 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #25 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #26 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #27 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #28 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #29 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #30 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #31 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #32 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #33 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #34 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b20003f5800 by thread T62:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:482 (libQmlJS.so.7+0x1609ea)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 128 at 0x7b20003f5800 allocated by thread T62:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:482 (libQmlJS.so.7+0x1609ea)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100049df68 by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x15266a)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x15266a)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x15266a)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #13 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #16 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #17 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #18 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #20 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b100049df68 by thread T62:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e708)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e708)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100049df40 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100049df6c by thread T55:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x152686)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x152686)
    #2 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x152686)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #13 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #16 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #17 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #18 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #20 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b100049df6c by thread T62:
    #0 QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.h:85 (libQmlJS.so.7+0x18e723)
    #1 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:225 (libQmlJS.so.7+0x18e723)
    #2 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100049df40 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.h:85 in QmlJS::ImportKey::ImportKey(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100049df70 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #12 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #13 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #14 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #16 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #17 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #18 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #19 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #20 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #21 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #22 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #24 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #25 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #26 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #27 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #28 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100049df70 by thread T62:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107041)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x18e735)
    #2 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x18e735)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100049df40 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::insert(QmlJS::ImportKey const&, QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:729 (libQmlJS.so.7+0x18adc5)
    #4 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:679 (libQmlJS.so.7+0x18adc5)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18adc5)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b08005c8f60 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x10704e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x10704e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x10704e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x10704e)
    #5 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x10704e)
    #6 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x1526a7)
    #7 QMapData<QmlJS::ImportKey, QStringList>::createNode(QmlJS::ImportKey const&, QStringList const&, QMapNode<QmlJS::ImportKey, QStringList>*, bool) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:227 (libQmlJS.so.7+0x1526a7)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:255 (libQmlJS.so.7+0x1526a7)
    #9 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #10 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #11 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #12 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #13 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #14 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #15 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #16 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #17 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #18 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #19 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #20 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #21 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #22 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #23 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #24 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #25 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #26 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #27 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #28 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #29 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #30 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #31 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #32 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #33 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08005c8f60 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08005c8f60 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QString>::append(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x8d827)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac6f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0066b500 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543b5)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543b5)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543b5)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543b5)
    #5 QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x1543b5)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543b5)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 Autotest::Internal::QuickTestParser::init(QList<Utils::FilePath> const&, bool) ../../src/plugins/autotest/quick/quicktestparser.cpp:353 (libAutoTest.so+0x177cc5)
    #9 Autotest::Internal::TestCodeParser::scanForTests(QList<Utils::FilePath> const&, QList<Autotest::ITestParser*> const&) ../../src/plugins/autotest/testcodeparser.cpp:358 (libAutoTest.so+0x1a3a13)
    #10 Autotest::Internal::TestCodeParser::onPartialParsingFinished() ../../src/plugins/autotest/testcodeparser.cpp:450 (libAutoTest.so+0x1a5b9f)
    #11 Autotest::Internal::TestCodeParser::onFinished() ../../src/plugins/autotest/testcodeparser.cpp:411 (libAutoTest.so+0x1a6410)
    #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #13 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #14 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #15 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #16 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #17 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0066b500 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0066b4f0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c0066b518 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x1543d6)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543d6)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 Autotest::Internal::QuickTestParser::init(QList<Utils::FilePath> const&, bool) ../../src/plugins/autotest/quick/quicktestparser.cpp:353 (libAutoTest.so+0x177cc5)
    #4 Autotest::Internal::TestCodeParser::scanForTests(QList<Utils::FilePath> const&, QList<Autotest::ITestParser*> const&) ../../src/plugins/autotest/testcodeparser.cpp:358 (libAutoTest.so+0x1a3a13)
    #5 Autotest::Internal::TestCodeParser::onPartialParsingFinished() ../../src/plugins/autotest/testcodeparser.cpp:450 (libAutoTest.so+0x1a5b9f)
    #6 Autotest::Internal::TestCodeParser::onFinished() ../../src/plugins/autotest/testcodeparser.cpp:411 (libAutoTest.so+0x1a6410)
    #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #8 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #9 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #11 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0066b518 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0066b4f0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0066b670 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543fb)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543fb)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543fb)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543fb)
    #5 QMap<QmlJS::ImportKey, QStringList>::QMap(QMap<QmlJS::ImportKey, QStringList> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x1543fb)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x1543fb)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543fb)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 Autotest::Internal::QuickTestParser::init(QList<Utils::FilePath> const&, bool) ../../src/plugins/autotest/quick/quicktestparser.cpp:353 (libAutoTest.so+0x177cc5)
    #10 Autotest::Internal::TestCodeParser::scanForTests(QList<Utils::FilePath> const&, QList<Autotest::ITestParser*> const&) ../../src/plugins/autotest/testcodeparser.cpp:358 (libAutoTest.so+0x1a3a13)
    #11 Autotest::Internal::TestCodeParser::onPartialParsingFinished() ../../src/plugins/autotest/testcodeparser.cpp:450 (libAutoTest.so+0x1a5b9f)
    #12 Autotest::Internal::TestCodeParser::onFinished() ../../src/plugins/autotest/testcodeparser.cpp:411 (libAutoTest.so+0x1a6410)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #14 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #15 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0066b670 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c0066b670 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0066b6a0 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154443)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154443)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154443)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154443)
    #5 QMap<QString, QmlJS::CoreImport>::QMap(QMap<QString, QmlJS::CoreImport> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x154443)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x154443)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154443)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 Autotest::Internal::QuickTestParser::init(QList<Utils::FilePath> const&, bool) ../../src/plugins/autotest/quick/quicktestparser.cpp:353 (libAutoTest.so+0x177cc5)
    #10 Autotest::Internal::TestCodeParser::scanForTests(QList<Utils::FilePath> const&, QList<Autotest::ITestParser*> const&) ../../src/plugins/autotest/testcodeparser.cpp:358 (libAutoTest.so+0x1a3a13)
    #11 Autotest::Internal::TestCodeParser::onPartialParsingFinished() ../../src/plugins/autotest/testcodeparser.cpp:450 (libAutoTest.so+0x1a5b9f)
    #12 Autotest::Internal::TestCodeParser::onFinished() ../../src/plugins/autotest/testcodeparser.cpp:411 (libAutoTest.so+0x1a6410)
    #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #14 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #15 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #17 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c0066b6a0 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c0066b6a0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:580 (libQmlJS.so.7+0x16457f)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b3c0021fdf8 by thread T69:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x2cd16d)
    #3 QVector<QPostEvent>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x2cd16d)
    #4 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b3c0021fdf8 by thread T42:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 240 at 0x7b3c0021fde0 allocated by thread T42:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T69 'Thread (pooled)' (tid=1303917, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T42 'QThread' (tid=1303935, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::onPartialParsingFinished() ../../src/plugins/autotest/testcodeparser.cpp:450 (libAutoTest.so+0x1a5b9f)
    #3 Autotest::Internal::TestCodeParser::onFinished() ../../src/plugins/autotest/testcodeparser.cpp:411 (libAutoTest.so+0x1a6410)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #5 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 in memcpy
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b3c0021fde0 by thread T69:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QArrayData::deallocate(QArrayData*, unsigned long, unsigned long) tools/qarraydata.cpp:267 (libQt5Core.so.5+0xc61b9)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b3c0021fde0 by thread T42:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T69 'Thread (pooled)' (tid=1303917, running) created by thread T70 at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 exec ../../src/libs/utils/mapreduce.h:87 (libAutoTest.so+0x1aa7a7)
    #3 blockingIteratorMapReduce<QList<Utils::FilePath>::iterator, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:293 (libAutoTest.so+0x1aa7a7)
    #4 blockingContainerMapReduce<QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, QSharedPointer<Autotest::TestParseResult>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*)> ../../src/libs/utils/mapreduce.h:305 (libAutoTest.so+0x1aa9d4)
    #5 runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:257 (libAutoTest.so+0x19cf16)
    #6 runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:274 (libAutoTest.so+0x19cf16)
    #7 runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, void (*)(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, QList<Utils::FilePath>&&, void* (*&&)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>&&, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >&&, void (*&&)(void*), Utils::MapReduceOption, QThreadPool*), QList<Utils::FilePath>, void* (*)(), Autotest::Internal::TestCodeParser::scanForTests(const FilePaths&, const QList<Autotest::ITestParser*>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const Utils::FilePath&)>, Utils::Internal::DummyReduce<QSharedPointer<Autotest::TestParseResult> >, void (*)(void*), Utils::MapReduceOption, QThreadPool*> ../../src/libs/utils/runextensions.h:303 (libAutoTest.so+0x19cf16)
    #8 runHelper<0, 1, 2, 3, 4, 5, 6, 7> ../../src/libs/utils/runextensions.h:372 (libAutoTest.so+0x19cf16)
    #9 run ../../src/libs/utils/runextensions.h:352 (libAutoTest.so+0x19cf16)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T42 'QThread' (tid=1303935, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 Autotest::Internal::TestCodeParser::onPartialParsingFinished() ../../src/plugins/autotest/testcodeparser.cpp:450 (libAutoTest.so+0x1a5b9f)
    #3 Autotest::Internal::TestCodeParser::onFinished() ../../src/plugins/autotest/testcodeparser.cpp:411 (libAutoTest.so+0x1a6410)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Autotest::Internal::TestCodeParser::*)()>::call(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libAutoTest.so+0x1aad47)
    #5 void QtPrivate::FunctionPointer<void (Autotest::Internal::TestCodeParser::*)()>::call<QtPrivate::List<>, void>(void (Autotest::Internal::TestCodeParser::*)(), Autotest::Internal::TestCodeParser*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libAutoTest.so+0x1aad47)
    #6 QtPrivate::QSlotObject<void (Autotest::Internal::TestCodeParser::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libAutoTest.so+0x1aad47)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qarraydata.cpp:267 in QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b20003de380 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154ae2)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154ae2)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154ae2)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154ae2)
    #5 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x154ae2)
    #6 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #7 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #8 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b20003de380 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x169299)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 128 at 0x7b20003de380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x169299)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0047d398 by thread T62:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a40)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0047d398 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c0047d390 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0047d3a0 by thread T62:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x150a69)
    #1 QHashNode<QString, QSharedPointer<QmlJS::Document const> >::QHashNode(QString const&, QSharedPointer<QmlJS::Document const> const&, unsigned int, QHashNode<QString, QSharedPointer<QmlJS::Document const> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x150a69)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a69)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #5 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #6 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0047d3a0 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c0047d390 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b5000041228 by thread T35:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x2166aa)
    #1 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x2166aa)
    #2 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #3 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b5000041228 by thread T51:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:634 (libCPlusPlus.so.7+0x21214d)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #3 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #4 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #5 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 480 at 0x7b5000041200 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 CppEditor::CppModelManager::CppModelManager() ../../src/plugins/cppeditor/cppmodelmanager.cpp:603 (libCppEditor.so+0x2e6fa0)
    #2 CppEditor::Internal::CppEditorPluginPrivate::CppEditorPluginPrivate() ../../src/plugins/cppeditor/cppeditorplugin.cpp:179 (libCppEditor.so+0x227f89)
    #3 CppEditor::Internal::CppEditorPlugin::initialize(QStringList const&, QString*) ../../src/plugins/cppeditor/cppeditorplugin.cpp:252 (libCppEditor.so+0x221dd1)
    #4 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #5 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #6 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #7 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #8 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00702a88 by thread T55:
    #0 QHashNode<QString, QSharedPointer<QmlJS::Document const> >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x16954e)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x16954e)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00702a88 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00702a80 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QSharedPointer<QmlJS::Document const> >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00702a80 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x169533)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00702a80 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00702a80 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c006f0464 by thread T35:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x2166b7)
    #1 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x2166b7)
    #2 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #3 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 4 at 0x7b0c006f0464 by thread T51:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::createNode(unsigned int, Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libCPlusPlus.so.7+0x217e9d)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libCPlusPlus.so.7+0x217e9d)
    #2 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217e9d)
    #3 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #10 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #11 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #12 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #13 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #14 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #15 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #16 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c006f0450 allocated by thread T51:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c00701bd8 by thread T62:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154327)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154327)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00701bd8 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00701bb0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000422288 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c60)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000422288 by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000422280 allocated by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000422288 by thread T51:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c60)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #4 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #5 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #6 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #7 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #8 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #9 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #10 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #11 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #12 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #13 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #14 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000422288 by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000422280 allocated by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00701b90 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x15435e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x15435e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x15435e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x15435e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15435e)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15435e)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00701b90 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00701b80 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000422290 by thread T68:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219c89)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219c89)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219c89)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c89)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #15 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #16 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #17 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #18 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #19 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #20 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #22 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000422290 by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000422280 allocated by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000422290 by thread T51:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219c89)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219c89)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219c89)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c89)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #7 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #8 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #9 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #10 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #11 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #12 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #13 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #14 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #15 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #16 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000422290 by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000422280 allocated by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c00701ba8 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15437f)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15437f)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00701ba8 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00701b80 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b1800423748 by main thread:
    #0 pthread_cond_destroy ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1208 (libtsan.so.0+0x467aa)
    #1 QWaitCondition::~QWaitCondition() thread/qwaitcondition_unix.cpp:184 (libQt5Core.so.5+0xbfdcd)
    #2 QList<QFuture<void> >::~QList() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:874 (libUtils.so.7+0x23959f)
    #3 QList<QFuture<void> >::operator=(QList<QFuture<void> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x2392f3)
    #4 Utils::FutureSynchronizer::flushFinishedFutures() ../../src/libs/utils/futuresynchronizer.cpp:82 (libUtils.so.7+0x2392f3)
    #5 void Utils::FutureSynchronizer::addFuture<void>(QFuture<void> const&) ../../src/libs/utils/futuresynchronizer.h:46 (libCppEditor.so+0x13121b)
    #6 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:360 (libCppEditor.so+0x13121b)
    #7 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #8 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #9 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #10 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #11 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #13 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #14 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #15 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #16 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #17 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #18 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #19 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #20 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #22 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b1800423748 by thread T35 (mutexes: write M9684361):
    #0 pthread_cond_broadcast ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1201 (libtsan.so.0+0x3e306)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:201 (libQt5Core.so.5+0xbff03)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 96 at 0x7b1800423720 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Mutex M9684361 (0x7b1800423720) created at:
    #0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1220 (libtsan.so.0+0x4a616)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:176 (libQt5Core.so.5+0xbfd7b)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:184 in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000422298 by thread T68:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219cb9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219cb9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219cb9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219cb9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #15 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #16 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #17 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #18 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #19 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #20 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #22 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000422298 by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000422280 allocated by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000422298 by thread T51:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219cb9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219cb9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219cb9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219cb9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #7 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #8 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #9 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #10 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #11 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #12 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #13 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #14 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #15 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #16 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000422298 by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000422280 allocated by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00701ba0 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x15fa28)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa28)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa28)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00701ba0 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00701b80 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00478540 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154306)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154306)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154306)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154306)
    #5 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154306)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154306)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00478540 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00478530 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 1 at 0x7b1800423720 by main thread:
    #0 pthread_mutex_destroy ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1237 (libtsan.so.0+0x3725c)
    #1 QWaitCondition::~QWaitCondition() thread/qwaitcondition_unix.cpp:185 (libQt5Core.so.5+0xbfdea)
    #2 QList<QFuture<void> >::~QList() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:874 (libUtils.so.7+0x23959f)
    #3 QList<QFuture<void> >::operator=(QList<QFuture<void> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x2392f3)
    #4 Utils::FutureSynchronizer::flushFinishedFutures() ../../src/libs/utils/futuresynchronizer.cpp:82 (libUtils.so.7+0x2392f3)
    #5 void Utils::FutureSynchronizer::addFuture<void>(QFuture<void> const&) ../../src/libs/utils/futuresynchronizer.h:46 (libCppEditor.so+0x13121b)
    #6 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:360 (libCppEditor.so+0x13121b)
    #7 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #8 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #9 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #10 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #11 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #12 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #13 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #14 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #15 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #16 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #17 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #18 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #19 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #20 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #21 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #22 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #23 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous atomic read of size 1 at 0x7b1800423720 by thread T35:
    #0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4165 (libtsan.so.0+0x526fc)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:199 (libQt5Core.so.5+0xbfed9)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 96 at 0x7b1800423720 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:185 in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004222a0 by thread T68:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219ce9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219ce9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219ce9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219ce9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #15 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #16 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #17 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #18 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #19 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #20 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #21 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #22 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004222a0 by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000422280 allocated by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004222a0 by thread T51:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219ce9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219ce9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219ce9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219ce9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #7 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #8 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #9 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #10 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #11 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #12 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #13 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #14 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #15 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #16 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004222a0 by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000422280 allocated by thread T35:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c00478558 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154327)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154327)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00478558 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c00478530 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c006f7300 by thread T13:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libCppEditor.so+0xfa574)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libCppEditor.so+0xfa574)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libCppEditor.so+0xfa574)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libCppEditor.so+0xfa574)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHash(QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libCppEditor.so+0x2d9f50)
    #6 CPlusPlus::Snapshot::Snapshot(CPlusPlus::Snapshot const&) ../../src/libs/cplusplus/CppDocument.h:391 (libCppEditor.so+0x2d9f50)
    #7 CppEditor::CppModelManager::snapshot() const ../../src/plugins/cppeditor/cppmodelmanager.cpp:683 (libCppEditor.so+0x2d9f50)
    #8 CppEditor::CppModelManager::createSourceProcessor() ../../src/plugins/cppeditor/cppmodelmanager.cpp:288 (libCppEditor.so+0x2da0b2)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:184 (libCppEditor.so+0x12edad)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12edad)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c006f7300 by thread T68:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c006f72f0 allocated by thread T68:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00478570 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x15435e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x15435e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x15435e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x15435e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15435e)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15435e)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00478570 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c00478560 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c00478588 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15437f)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15437f)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00478588 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c00478560 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c006f7318 by thread T13:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHash(QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libCppEditor.so+0x2d9f66)
    #1 CPlusPlus::Snapshot::Snapshot(CPlusPlus::Snapshot const&) ../../src/libs/cplusplus/CppDocument.h:391 (libCppEditor.so+0x2d9f66)
    #2 CppEditor::CppModelManager::snapshot() const ../../src/plugins/cppeditor/cppmodelmanager.cpp:683 (libCppEditor.so+0x2d9f66)
    #3 CppEditor::CppModelManager::createSourceProcessor() ../../src/plugins/cppeditor/cppmodelmanager.cpp:288 (libCppEditor.so+0x2da0b2)
    #4 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:184 (libCppEditor.so+0x12edad)
    #5 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12edad)
    #6 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #7 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #8 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #9 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #10 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #11 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c006f7318 by thread T68:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c006f72f0 allocated by thread T68:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHash(QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00772bc0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543fb)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543fb)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543fb)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543fb)
    #5 QMap<QmlJS::ImportKey, QStringList>::QMap(QMap<QmlJS::ImportKey, QStringList> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x1543fb)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x1543fb)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543fb)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00772bc0 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 40 at 0x7b0c00772bc0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c006f7310 by thread T44:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libCPlusPlus.so.7+0x2202b5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #10 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #11 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #12 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #13 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #14 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #15 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #16 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c006f7310 by thread T68:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c006f72f0 allocated by thread T68:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T44 'Thread (pooled)' (tid=1303942, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00772bf0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154443)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154443)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154443)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154443)
    #5 QMap<QString, QmlJS::CoreImport>::QMap(QMap<QString, QmlJS::CoreImport> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x154443)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x154443)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154443)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00772bf0 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 40 at 0x7b0c00772bf0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c006f72f8 by thread T44:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libCPlusPlus.so.7+0x2201ce)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c006f72f8 by thread T68:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c006f72f0 allocated by thread T68:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T44 'Thread (pooled)' (tid=1303942, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00478580 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x15fa28)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa28)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa28)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00478580 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c00478560 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b24003b4b40 by thread T44:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b24003b4b40 by thread T68:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 136 at 0x7b24003b4b10 allocated by thread T68:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T44 'Thread (pooled)' (tid=1303942, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00478568 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00478568 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c00478560 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00704be0 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543fb)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543fb)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543fb)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543fb)
    #5 QMap<QmlJS::ImportKey, QStringList>::QMap(QMap<QmlJS::ImportKey, QStringList> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x1543fb)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x1543fb)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543fb)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00704be0 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00704be0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b24003b4b68 by thread T68:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:578 (libQt5Core.so.5+0xf42cf)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #4 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #5 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #6 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #7 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #8 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #9 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #10 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #11 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #12 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #13 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #14 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b24003b4b68 by thread T13:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0077e7e4 by thread T13:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x2166b7)
    #1 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x2166b7)
    #2 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d841a)
    #3 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:699 (libCppEditor.so+0x2d841a)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #10 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #11 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #12 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #13 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #14 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #15 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #16 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c0077e7e0 by thread T51:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c0077e7d0 allocated by thread T51:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b2400319328 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b2400319328 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 136 at 0x7b2400319320 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00704c10 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154443)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154443)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154443)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154443)
    #5 QMap<QString, QmlJS::CoreImport>::QMap(QMap<QString, QmlJS::CoreImport> const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:627 (libQmlJS.so.7+0x154443)
    #6 QmlJS::ImportDependencies::ImportDependencies(QmlJS::ImportDependencies const&) ../../src/libs/qmljs/qmljsimportdependencies.h:211 (libQmlJS.so.7+0x154443)
    #7 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154443)
    #8 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00704c10 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00704c10 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0077e7f0 by thread T13:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libCPlusPlus.so.7+0x2202b5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d841a)
    #4 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:699 (libCppEditor.so+0x2d841a)
    #5 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c0077e7f0 by thread T51:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c0077e7d0 allocated by thread T51:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800665ce8 by thread T55:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #4 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #5 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800665ce8 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 32 at 0x7b0800665ce0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00701bd0 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x15fa28)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa28)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa28)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00701bd0 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00701bb0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0077e7d8 by thread T13:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libCPlusPlus.so.7+0x2201ce)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d841a)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:699 (libCppEditor.so+0x2d841a)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c0077e7d8 by thread T51:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c0077e7d0 allocated by thread T51:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800665cf8 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ac9)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x15fa7f)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa7f)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800665cf8 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 32 at 0x7b0800665ce0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b24003aded8 by thread T13:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d841a)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:699 (libCppEditor.so+0x2d841a)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b24003aded8 by thread T51:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 136 at 0x7b24003ade80 allocated by thread T51:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b10004d1240 by thread T27:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #4 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #5 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #6 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #7 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #8 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #9 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #10 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #11 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #12 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #13 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #14 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b10004d1240 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x220233)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T27 'Thread (pooled)' (tid=1303947, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10004d2dc8 by thread T68:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d841a)
    #6 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:699 (libCppEditor.so+0x2d841a)
    #7 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #8 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #10 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #13 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #14 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #15 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #16 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #17 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #18 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #19 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #20 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004d2dc8 by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004d2dc0 allocated by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10004d7e88 by thread T14:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c60)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #4 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #5 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #6 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #7 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #8 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #9 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #10 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #11 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #12 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #13 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #14 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004d7e88 by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004d7e80 allocated by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T14 'Thread (pooled)' (tid=1303949, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004d2dc0 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x220233)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d841a)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:699 (libCppEditor.so+0x2d841a)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004d2dc0 by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004d2dc0 allocated by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004d7e90 by thread T14:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219c89)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219c89)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219c89)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c89)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #7 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #8 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #9 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #10 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #11 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #12 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #13 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #14 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #15 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #16 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004d7e90 by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004d7e80 allocated by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T14 'Thread (pooled)' (tid=1303949, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b440050ff80 by thread T51:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b440050ff80 by thread T28:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::createNode(unsigned int, Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:611 (libCPlusPlus.so.7+0x217e72)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libCPlusPlus.so.7+0x217e72)
    #2 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217e72)
    #3 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #10 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #11 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #12 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #13 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #14 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #15 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #16 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b440050ff00 allocated by thread T28:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004d7e98 by thread T14:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219cb9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219cb9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219cb9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219cb9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #7 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #8 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #9 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #10 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #11 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #12 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #13 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #14 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #15 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #16 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004d7e98 by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004d7e80 allocated by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T14 'Thread (pooled)' (tid=1303949, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000559a08 by thread T51:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000559a08 by thread T28:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000559a00 allocated by thread T28:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004d7ea0 by thread T14:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219ce9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219ce9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219ce9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219ce9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #7 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #8 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #9 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #10 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #11 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #12 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #13 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #14 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #15 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #16 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004d7ea0 by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004d7e80 allocated by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T14 'Thread (pooled)' (tid=1303949, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000559a00 by thread T51:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x220233)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000559a00 by thread T28:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000559a00 allocated by thread T28:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b440050ff50 by thread T44:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b440050ff50 by thread T28:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 296 at 0x7b440050ff00 allocated by thread T28:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T44 'Thread (pooled)' (tid=1303942, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800662bc8 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b0800662bc8 by thread T55:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004ebde8 by thread T51:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d19)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d19)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d19)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #6 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #7 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #8 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004ebde8 by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004ebdc0 allocated by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T44 'Thread (pooled)' (tid=1303942, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004ebde8 by thread T48:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d19)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d19)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d19)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #6 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #7 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #8 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004ebde8 by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004ebdc0 allocated by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T48 'Thread (pooled)' (tid=1303944, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T44 'Thread (pooled)' (tid=1303942, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100055f808 by thread T14:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b100055f808 by thread T27:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b100055f800 allocated by thread T27:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T14 'Thread (pooled)' (tid=1303949, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T27 'Thread (pooled)' (tid=1303947, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800662bd8 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b0800662bd8 by thread T55:
    [failed to restore the stack]

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004ebdf0 by thread T51:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d37)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d37)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d37)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #6 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #7 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #8 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004ebdf0 by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004ebdc0 allocated by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T44 'Thread (pooled)' (tid=1303942, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004ebdf0 by thread T48:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d37)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d37)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d37)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #6 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #7 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #8 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004ebdf0 by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004ebdc0 allocated by thread T44:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T48 'Thread (pooled)' (tid=1303944, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T44 'Thread (pooled)' (tid=1303942, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100055f800 by thread T14:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x220233)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b100055f800 by thread T27:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b100055f800 allocated by thread T27:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T14 'Thread (pooled)' (tid=1303949, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T27 'Thread (pooled)' (tid=1303947, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b6400140030 by thread T61:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::rehash(int) tools/qhash.cpp:688 (libQt5Core.so.5+0xf4759)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b6400140030 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x1607e4)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1607e4)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b100055fa08 by thread T27:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x2206a7)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::remove(Utils::FilePath const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libCPlusPlus.so.7+0x2206a7)
    #4 CPlusPlus::Snapshot::remove(Utils::FilePath const&) ../../src/libs/cplusplus/CppDocument.cpp:831 (libCPlusPlus.so.7+0x216d95)
    #5 CPlusPlus::Snapshot::remove(QString const&) ../../src/libs/cplusplus/CppDocument.h:409 (libCppEditor.so+0x3cd509)
    #6 CppEditor::Internal::CppSourceProcessor::removeFromCache(QString const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:196 (libCppEditor.so+0x3cd509)
    #7 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:194 (libCppEditor.so+0x12eeab)
    #8 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12eeab)
    #9 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #10 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #11 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #12 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #13 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #14 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 4 at 0x7b100055fa08 by thread T35:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T27 'Thread (pooled)' (tid=1303947, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10004ceb88 by thread T52:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d841a)
    #6 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:699 (libCppEditor.so+0x2d841a)
    #7 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #8 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #10 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #13 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #14 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #15 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #16 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #17 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #18 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #19 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #20 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004ceb88 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004ceb80 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b500027360c by thread T62:
    #0 QListData::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 (libQmlJS.so.7+0x1da0e1)
    #1 QList<QSharedPointer<QmlJS::Document const> >::isEmpty() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:201 (libQmlJS.so.7+0x1da0e1)
    #2 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0e1)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0e1)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b5000273608 by thread T61:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 512 at 0x7b5000273600 allocated by thread T61:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:116 in QListData::isEmpty() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004ceb80 by thread T52:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x220233)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d841a)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:699 (libCppEditor.so+0x2d841a)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004ceb80 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004ceb80 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10004e89c0 by thread T51:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x220233)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10004e89c0 by thread T35:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::createNode(unsigned int, Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:611 (libCPlusPlus.so.7+0x217e72)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libCPlusPlus.so.7+0x217e72)
    #2 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217e72)
    #3 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #10 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #11 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #12 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #13 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #14 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #15 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #16 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10004e89c0 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #12 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #13 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #14 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #15 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #16 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #17 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #18 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #19 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T51 'Thread (pooled)' (tid=1303939, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T35 'Thread (pooled)' (tid=1303940, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b440047c3e0 by thread T28:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::rehash(int) tools/qhash.cpp:688 (libQt5Core.so.5+0xf4759)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #10 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #11 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #12 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #13 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #14 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #15 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #16 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous read of size 8 at 0x7b440047c3e0 by thread T14:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libCPlusPlus.so.7+0x217b02)
    #3 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217b02)
    #4 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #5 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #11 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #12 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #13 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #14 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #15 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #16 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #17 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #18 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T14 'Thread (pooled)' (tid=1303949, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080071f038 by thread T62:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b080071f038 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x169273)
    #1 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b740028aa00 by thread T28:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QThreadPoolThread::run() thread/qthreadpool.cpp:130 (libQt5Core.so.5+0xbbff0)

  Previous write of size 8 at 0x7b740028aa00 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QThreadPoolPrivate::enqueueTask(QRunnable*, int) thread/qthreadpool.cpp:222 (libQt5Core.so.5+0xbb6a2)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c00869338 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x154327)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x154327)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00869338 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00869310 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QSharedPointer<QmlJS::Document const> >::QHash(QHash<QString, QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c008692f0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x15435e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x15435e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x15435e)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x15435e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15435e)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15435e)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c008692f0 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c008692e0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c00869308 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x15437f)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x15437f)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00869308 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c008692e0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHash(QHash<QString, QList<QSharedPointer<QmlJS::Document const> > > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00869300 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x15fa28)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa28)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa28)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00869300 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c008692e0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1400499c58 by thread T28:
    #0 run ../../src/libs/utils/runextensions.h:344 (libCppEditor.so+0x1291ba)
    #1 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1400499c58 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:405 (libCppEditor.so+0x130e55)
    #2 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x130e55)
    #3 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x130e55)
    #4 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #5 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #6 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #7 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #8 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #10 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #11 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #12 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #13 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #16 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 80 at 0x7b1400499c10 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:405 (libCppEditor.so+0x130e55)
    #2 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x130e55)
    #3 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x130e55)
    #4 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #5 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #6 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #7 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #8 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #10 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #11 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #12 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #13 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #16 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/runextensions.h:344 in run
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c008692e8 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c008692e8 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c008692e0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1400499c40 by thread T28:
    #0 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x129220)
    #1 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x129220)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1400499c40 by main thread:
    #0 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> /usr/include/c++/9/tuple:133 (libCppEditor.so+0x131068)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x131068)
    #2 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x131068)
    #3 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #4 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #5 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #6 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #7 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #9 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #10 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #11 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #12 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #13 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #14 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #15 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #16 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #18 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 80 at 0x7b1400499c10 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:405 (libCppEditor.so+0x130e55)
    #2 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x130e55)
    #3 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x130e55)
    #4 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #5 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #6 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #7 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #8 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #10 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #11 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #12 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #13 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #16 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/utils/runextensions.h:372 in runHelper<0, 1>
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b2400417f08 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b2400417f08 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 136 at 0x7b2400417f00 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1400499c20 by thread T28:
    #0 QVector<ProjectExplorer::HeaderPath>::QVector(QVector<ProjectExplorer::HeaderPath>&&) /usr/local/Qt-5.15.2/include/QtCore/qvector.h:75 (libCppEditor.so+0x129236)
    #1 ParseParams ../../src/plugins/cppeditor/builtinindexingsupport.cpp:59 (libCppEditor.so+0x129236)
    #2 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x129236)
    #3 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x129236)
    #4 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x129236)
    #5 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x129236)
    #6 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x129236)
    #7 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1400499c20 by main thread:
    #0 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> /usr/local/Qt-5.15.2/include/QtCore/qvector.h:75 (libCppEditor.so+0x130fcd)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x130fcd)
    #2 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x130fcd)
    #3 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #4 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #5 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #6 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #7 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #9 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #10 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #11 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #12 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #13 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #14 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #15 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #16 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #18 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 80 at 0x7b1400499c10 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:405 (libCppEditor.so+0x130e55)
    #2 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x130e55)
    #3 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x130e55)
    #4 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #5 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #6 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #7 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #8 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #10 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #11 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #12 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #13 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #16 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qvector.h:75 in QVector<ProjectExplorer::HeaderPath>::QVector(QVector<ProjectExplorer::HeaderPath>&&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0800722848 by thread T55:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #4 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #5 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800722848 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b0800722840 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1400499c28 by thread T28:
    #0 QHash<Utils::FilePath, QPair<QByteArray, unsigned int> >::QHash(QHash<Utils::FilePath, QPair<QByteArray, unsigned int> >&&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:253 (libCppEditor.so+0x12926b)
    #1 CppEditor::WorkingCopy::WorkingCopy(CppEditor::WorkingCopy&&) ../../src/plugins/cppeditor/cppworkingcopy.h:38 (libCppEditor.so+0x12926b)
    #2 ParseParams ../../src/plugins/cppeditor/builtinindexingsupport.cpp:59 (libCppEditor.so+0x12926b)
    #3 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x12926b)
    #4 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x12926b)
    #5 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x12926b)
    #6 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x12926b)
    #7 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x12926b)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1400499c28 by main thread:
    #0 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> /usr/local/Qt-5.15.2/include/QtCore/qhash.h:253 (libCppEditor.so+0x131007)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x131007)
    #2 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x131007)
    #3 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #4 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #5 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #6 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #7 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #9 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #10 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #11 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #12 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #13 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #14 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #15 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #16 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #18 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 80 at 0x7b1400499c10 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:405 (libCppEditor.so+0x130e55)
    #2 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x130e55)
    #3 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x130e55)
    #4 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #5 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #6 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #7 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #8 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #10 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #11 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #12 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #13 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #16 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:253 in QHash<Utils::FilePath, QPair<QByteArray, unsigned int> >::QHash(QHash<Utils::FilePath, QPair<QByteArray, unsigned int> >&&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0800722858 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ac9)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x15fa7f)
    #2 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa7f)
    #3 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0800722858 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ad4)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b0800722840 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1400499c30 by thread T28:
    #0 QHash<QString, QHashDummyValue>::QHash(QHash<QString, QHashDummyValue>&&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:253 (libCppEditor.so+0x1292a0)
    #1 QSet<QString>::QSet(QSet<QString>&&) /usr/local/Qt-5.15.2/include/QtCore/qset.h:53 (libCppEditor.so+0x1292a0)
    #2 ParseParams ../../src/plugins/cppeditor/builtinindexingsupport.cpp:59 (libCppEditor.so+0x1292a0)
    #3 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292a0)
    #4 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292a0)
    #5 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292a0)
    #6 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292a0)
    #7 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292a0)
    #8 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1400499c30 by main thread:
    #0 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> /usr/local/Qt-5.15.2/include/QtCore/qhash.h:253 (libCppEditor.so+0x131035)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x131035)
    #2 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x131035)
    #3 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #4 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #5 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #6 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #7 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #9 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #10 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #11 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #12 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #13 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #14 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #15 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #16 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #18 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #19 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 80 at 0x7b1400499c10 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:405 (libCppEditor.so+0x130e55)
    #2 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x130e55)
    #3 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x130e55)
    #4 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #5 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #6 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #7 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #8 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #10 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #11 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #12 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #13 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #16 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:253 in QHash<QString, QHashDummyValue>::QHash(QHash<QString, QHashDummyValue>&&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1400499c38 by thread T28:
    #0 ParseParams ../../src/plugins/cppeditor/builtinindexingsupport.cpp:59 (libCppEditor.so+0x1292d5)
    #1 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292d5)
    #2 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292d5)
    #3 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292d5)
    #4 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292d5)
    #5 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292d5)
    #6 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1400499c38 by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:405 (libCppEditor.so+0x130e55)
    #2 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x130e55)
    #3 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x130e55)
    #4 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #5 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #6 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #7 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #8 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #10 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #11 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #12 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #13 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #16 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Location is heap block of size 80 at 0x7b1400499c10 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:405 (libCppEditor.so+0x130e55)
    #2 runAsync<void (&)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams&> ../../src/libs/utils/runextensions.h:546 (libCppEditor.so+0x130e55)
    #3 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:359 (libCppEditor.so+0x130e55)
    #4 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #5 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #6 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #7 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #8 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #9 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #10 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #11 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #12 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #13 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #14 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #16 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #19 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T28 'Thread (pooled)' (tid=1303946, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/plugins/cppeditor/builtinindexingsupport.cpp:59 in ParseParams
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00887444 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15f979)
    #1 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15f979)
    #2 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c00887444 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::createNode(unsigned int, QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16157a)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:761 (libQmlJS.so.7+0x16157a)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16157a)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00887430 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c008c7090 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x18f463)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x18f463)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x18f463)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x18f463)
    #5 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f463)
    #6 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f463)
    #7 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c008c7090 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c008c7090 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c008c70a0 by thread T62:
    #0 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dde3)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18f47b)
    #2 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c008c70a0 by thread T55:
    #0 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef19)
    #1 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c008c7090 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b100059f6d8 by thread T62:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18f47b)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100059f6d8 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100059f6c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100059f6e0 by thread T62:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18f47b)
    #8 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100059f6e0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b100059f6c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00937770 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x18acc7)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x18acc7)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x18acc7)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x18acc7)
    #5 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acc7)
    #6 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acc7)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acc7)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00937770 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00937770 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10005c0c98 by thread T55:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005c0c98 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10005c0c80 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005c0ca0 by thread T55:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005c0ca0 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10005c0c80 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b080075bfc8 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d2a)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b080075bfc8 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b080075bfc0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b080075bfd0 by thread T62:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x154d57)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d57)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d57)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b080075bfd0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b080075bfc0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00948370 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x16072e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x16072e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x16072e)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x16072e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x16072e)
    #6 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:754 (libQmlJS.so.7+0x16072e)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16072e)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00948370 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00948360 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00948384 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 (libQmlJS.so.7+0x16074d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16074d)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16074d)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00948380 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00948360 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00948368 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00948368 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00948360 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b240044c060 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b240044c060 by thread T62:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 136 at 0x7b240044c010 allocated by thread T62:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08007627a8 by thread T61:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08007627a8 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08007627a0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08007627a0 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168ce3)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08007627a0 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08007627a0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08007627f8 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x169273)
    #1 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08007627f8 by thread T62:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ad4)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08007627e0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 in QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00948d94 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16003b)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16003b)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00948d90 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00948d80 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00948da0 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x169595)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #2 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00948da0 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c00948d80 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00948d88 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x1694cd)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00948d88 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c00948d80 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b7400101168 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b7400101168 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 2056 at 0x7b7400100e00 allocated by thread T62:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00968558 by thread T55:
    #0 QHashNode<QString, QSharedPointer<QmlJS::Document const> >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x16954e)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x16954e)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00968558 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 40 at 0x7b0c00968550 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QSharedPointer<QmlJS::Document const> >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00968550 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x169533)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00968550 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 40 at 0x7b0c00968550 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000457090 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000457090 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000457080 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005e8110 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005e8110 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005e8100 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005e8308 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005e8308 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005e8300 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005e8350 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005e8350 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005e8340 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005e8450 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005e8450 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005e8440 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005e8550 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005e8550 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005e8540 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005e8650 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005e8650 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005e8640 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #13 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #14 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #15 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005e8690 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005e8690 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005e8680 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #13 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #14 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #15 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #16 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #17 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #18 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #19 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #20 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #21 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #22 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #28 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0096afb0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x18acc7)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x18acc7)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x18acc7)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x18acc7)
    #5 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acc7)
    #6 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acc7)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acc7)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0096afb0 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 40 at 0x7b0c0096afb0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0096afc0 by thread T55:
    #0 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dde3)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0096afc0 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 40 at 0x7b0c0096afb0 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10005a5298 by thread T55:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005a5298 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10005a5280 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005a52a0 by thread T55:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005a52a0 by thread T62:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10005a5280 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005aacd0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005aacd0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #3 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #4 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005aacc0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005e9b48 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005e9b48 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005e9b40 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005e9b88 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005e9b88 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005e9b80 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005e9bd0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005e9bd0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005e9bc0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005ea4d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005ea4d0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005ea4c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005ea610 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005ea610 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005ea600 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005ea688 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005ea688 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005ea680 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005ea6d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005ea6d0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005ea6c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00947234 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a40)
    #1 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a40)
    #2 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c00947234 by thread T61:
    #0 QHash<QString, QmlJS::LibraryInfo>::createNode(unsigned int, QString const&, QmlJS::LibraryInfo const&, QHashNode<QString, QmlJS::LibraryInfo>**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16700a)
    #1 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x16700a)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x16700a)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00947220 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005be610 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005be610 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005be600 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005be308 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005be308 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005be300 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005a72d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005a72d0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005a72c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005be650 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005be650 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005be640 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #13 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #14 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #15 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005beb50 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005beb50 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10005beb40 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #13 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #14 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #15 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #16 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #17 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #18 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #19 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #20 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #21 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #22 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #28 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0099cc90 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x18acc7)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x18acc7)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x18acc7)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x18acc7)
    #5 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acc7)
    #6 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acc7)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acc7)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0099cc90 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c0099cc90 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10005eb7d8 by thread T61:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005eb7d8 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10005eb7c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005eb7e0 by thread T61:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10005eb7e0 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10005eb7c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c009c0340 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543b5)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543b5)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543b5)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543b5)
    #5 QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x1543b5)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543b5)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c009c0340 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009c0330 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c009c0358 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x1543d6)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543d6)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da027)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c009c0358 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009c0330 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44004dae60 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x160452)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x160452)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:589 (libQmlJS.so.7+0x160452)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b44004dae60 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 296 at 0x7b44004dae40 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44004daea8 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b44004daea8 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 296 at 0x7b44004dae40 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c009d0f00 by thread T61:
    #0 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dea3)
    #1 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c009d0f00 by thread T55:
    #0 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e819)
    #1 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18bd1f)
    #2 QMap<QString, QmlJS::CoreImport>::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18bd1f)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:834 (libQmlJS.so.7+0x18bd1f)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c009d0ef0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18bd1f)
    #3 QMap<QString, QmlJS::CoreImport>::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18bd1f)
    #4 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:834 (libQmlJS.so.7+0x18bd1f)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c009d1050 by thread T61:
    #0 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dde3)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #2 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c009d1050 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 40 at 0x7b0c009d1040 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #4 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:836 (libQmlJS.so.7+0x18bcc3)
    #5 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #6 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #7 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #8 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006232d0 by thread T61:
    #0 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18de1d)
    #1 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de1d)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006232d0 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10006232c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #6 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:836 (libQmlJS.so.7+0x18bcc3)
    #7 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #8 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #9 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #10 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000644108 by thread T61:
    #0 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18ddfb)
    #1 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18ddfb)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000644108 by thread T55:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000644100 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #5 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #6 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #8 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:836 (libQmlJS.so.7+0x18bcc3)
    #9 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #10 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #11 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #12 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:910 (libQmlJS.so.7+0x1d57bd)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #14 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08007e0b38 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ac9)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08007e0b38 by thread T62:
    #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<QListData::Data*> >, std::is_move_constructible<QListData::Data*>, std::is_move_assignable<QListData::Data*> >::value, void>::type std::swap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/include/c++/9/bits/move.h:195 (libQmlJS.so.7+0x160287)
    #1 void qSwap<QListData::Data*>(QListData::Data*&, QListData::Data*&) /usr/local/Qt-5.15.2/include/QtCore/qglobal.h:969 (libQmlJS.so.7+0x160287)
    #2 QList<QSharedPointer<QmlJS::Document const> >::swap(QList<QSharedPointer<QmlJS::Document const> >&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:168 (libQmlJS.so.7+0x160287)
    #3 QList<QSharedPointer<QmlJS::Document const> >::operator=(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:534 (libQmlJS.so.7+0x160287)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:591 (libQmlJS.so.7+0x160287)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08007e0b20 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b5000275e00 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154ae2)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154ae2)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154ae2)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154ae2)
    #5 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x154ae2)
    #6 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #7 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #8 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b5000275e00 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 512 at 0x7b5000275e00 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach(int) tools/qlist.cpp:137 (libQt5Core.so.5+0xf5bed)
    #2 QList<QSharedPointer<QmlJS::Document const> >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:849 (libQmlJS.so.7+0x16bb8f)
    #3 QList<QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:178 (libQmlJS.so.7+0x16bb8f)
    #4 QList<QSharedPointer<QmlJS::Document const> >::removeAll(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:941 (libQmlJS.so.7+0x16bb8f)
    #5 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:590 (libQmlJS.so.7+0x1601a9)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08007e0b28 by thread T61:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b08007e0b28 by thread T62:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c009ea6a4 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x2166b7)
    #1 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x2166b7)
    #2 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #3 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #4 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #9 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:216 (libCppEditor.so+0x118294)
    #10 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #11 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #15 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #16 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #17 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 4 at 0x7b0c009ea6a4 by thread T13:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::createNode(unsigned int, Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libCPlusPlus.so.7+0x217e9d)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libCPlusPlus.so.7+0x217e9d)
    #2 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217e9d)
    #3 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #58 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #59 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #60 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #61 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #62 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #63 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #64 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #65 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #66 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #67 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #68 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #69 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #70 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #71 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c009ea690 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b2400460610 by thread T61:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:578 (libQt5Core.so.5+0xf42cf)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b2400460610 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c009c0338 by thread T61:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b0c009c0338 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b18004de228 by main thread:
    #0 pthread_cond_destroy ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1208 (libtsan.so.0+0x467aa)
    #1 QWaitCondition::~QWaitCondition() thread/qwaitcondition_unix.cpp:184 (libQt5Core.so.5+0xbfdcd)
    #2 QList<QFuture<void> >::~QList() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:874 (libUtils.so.7+0x23959f)
    #3 QList<QFuture<void> >::operator=(QList<QFuture<void> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x2392f3)
    #4 Utils::FutureSynchronizer::flushFinishedFutures() ../../src/libs/utils/futuresynchronizer.cpp:82 (libUtils.so.7+0x2392f3)
    #5 void Utils::FutureSynchronizer::addFuture<void>(QFuture<void> const&) ../../src/libs/utils/futuresynchronizer.h:46 (libCppEditor.so+0x13121b)
    #6 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:360 (libCppEditor.so+0x13121b)
    #7 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #8 CppEditor::CppModelManager::updateProjectInfo(std::shared_ptr<CppEditor::ProjectInfo const> const&, QSet<QString> const&) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1230 (libCppEditor.so+0x2e67d2)
    #9 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:170 (libCppEditor.so+0x313f94)
    #10 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #12 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 8 at 0x7b18004de228 by thread T66 (mutexes: write M203923226153050624):
    #0 pthread_cond_broadcast ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1201 (libtsan.so.0+0x3e306)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:201 (libQt5Core.so.5+0xbff03)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 96 at 0x7b18004de200 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Mutex M203923226153050624 is already destroyed.

  Thread T66 'Thread (pooled)' (tid=1303951, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:184 in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c009c0350 by thread T61:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b0c009c0354 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 (libQmlJS.so.7+0x16074d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16074d)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16074d)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100064b5a8 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d19)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d19)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d19)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #56 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #57 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #58 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #59 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #60 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #61 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #62 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #63 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b100064b5a8 by thread T68:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b100064b580 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100064b5b0 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d37)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d37)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d37)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #56 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #57 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #58 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #59 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #60 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #61 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #62 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #63 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b100064b5b0 by thread T68:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b100064b580 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c009ed8e0 by thread T55:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x16072e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x16072e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x16072e)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x16072e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x16072e)
    #6 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:754 (libQmlJS.so.7+0x16072e)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16072e)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c009ed8e0 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009ed8d0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 1 at 0x7b18004de200 by main thread:
    #0 pthread_mutex_destroy ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1237 (libtsan.so.0+0x3725c)
    #1 QWaitCondition::~QWaitCondition() thread/qwaitcondition_unix.cpp:185 (libQt5Core.so.5+0xbfdea)
    #2 QList<QFuture<void> >::~QList() /usr/local/Qt-5.15.2/include/QtCore/qlist.h:874 (libUtils.so.7+0x23959f)
    #3 QList<QFuture<void> >::operator=(QList<QFuture<void> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:533 (libUtils.so.7+0x2392f3)
    #4 Utils::FutureSynchronizer::flushFinishedFutures() ../../src/libs/utils/futuresynchronizer.cpp:82 (libUtils.so.7+0x2392f3)
    #5 void Utils::FutureSynchronizer::addFuture<void>(QFuture<void> const&) ../../src/libs/utils/futuresynchronizer.h:46 (libCppEditor.so+0x13121b)
    #6 CppEditor::Internal::BuiltinIndexingSupport::refreshSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/builtinindexingsupport.cpp:360 (libCppEditor.so+0x13121b)
    #7 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #8 CppEditor::CppModelManager::updateProjectInfo(std::shared_ptr<CppEditor::ProjectInfo const> const&, QSet<QString> const&) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1230 (libCppEditor.so+0x2e67d2)
    #9 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:170 (libCppEditor.so+0x313f94)
    #10 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #11 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #12 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #13 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #14 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #15 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #16 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous atomic read of size 1 at 0x7b18004de200 by thread T66:
    #0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4165 (libtsan.so.0+0x526fc)
    #1 QWaitCondition::wakeAll() thread/qwaitcondition_unix.cpp:199 (libQt5Core.so.5+0xbfed9)
    #2 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 96 at 0x7b18004de200 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QWaitCondition::QWaitCondition() thread/qwaitcondition_unix.cpp:175 (libQt5Core.so.5+0xbfd6b)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T66 'Thread (pooled)' (tid=1303951, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race thread/qwaitcondition_unix.cpp:185 in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c009fadb4 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x2166b7)
    #1 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x2166b7)
    #2 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #3 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #4 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #57 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #58 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #59 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #60 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #61 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #62 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #63 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #64 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #65 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #66 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #67 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #68 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #69 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #70 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #71 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c009fadb0 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c009fada0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c009ed8f4 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 (libQmlJS.so.7+0x16074d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16074d)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16074d)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c009ed8f0 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009ed8d0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c009fadc0 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libCPlusPlus.so.7+0x2202b5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #58 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #59 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #60 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #61 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #62 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #63 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #64 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #65 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #66 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #67 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #68 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #69 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #70 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #71 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #72 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c009fadc0 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c009fada0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c009ed8d8 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c009ed8d8 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009ed8d0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c009fada8 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libCPlusPlus.so.7+0x2201ce)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #47 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #48 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #49 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #50 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #51 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #52 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #53 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #54 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #55 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #56 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #57 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #58 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #59 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #60 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #61 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #62 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #63 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #64 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #65 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #66 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #67 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #68 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #69 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #70 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #71 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #72 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c009fada8 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c009fada0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b2400463420 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b2400463420 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 136 at 0x7b24004633e0 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b74002feeb0 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #47 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #48 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #49 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #50 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #51 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #52 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #53 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #54 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #55 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #56 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #57 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #58 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #59 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #60 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #61 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #62 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #63 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #64 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #65 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #66 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #67 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #68 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #69 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #70 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #71 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #72 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b74002feeb0 by thread T13:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 2056 at 0x7b74002fee00 allocated by thread T13:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08007f3268 by thread T55:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08007f3268 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08007f3260 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000652548 by thread T68:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #67 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #68 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #69 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #70 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #71 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #72 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #73 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #74 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000652548 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000652540 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08007f3278 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x169273)
    #1 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08007f3278 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ad4)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08007f3260 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 in QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000652568 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x21672f)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x21672f)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x21672f)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #58 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #59 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #60 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #61 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #62 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #63 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #64 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #65 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #66 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #67 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #68 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #69 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #70 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #71 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #72 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000652568 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d26)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d26)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d26)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #56 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #57 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #58 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #59 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #60 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #61 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #62 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #63 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000652540 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000652570 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x216748)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216748)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216748)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #58 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #59 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #60 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #61 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #62 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #63 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #64 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #65 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #66 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #67 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #68 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #69 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #70 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #71 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #72 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000652570 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d43)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d43)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d43)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #56 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #57 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #58 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #59 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #60 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #61 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #62 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #63 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b1000652540 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b100065f390 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b100065f390 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b100065f380 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006600c8 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006600c8 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006600c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000660108 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000660108 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000660100 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000660150 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18bba1)
    #3 QmlJS::ImportDependencies::addExport(QString const&, QmlJS::ImportKey const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:826 (libQmlJS.so.7+0x18bba1)
    #4 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:576 (libQmlJS.so.7+0x16444d)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:862 (libQmlJS.so.7+0x1d5019)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000660150 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000660140 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b2400475ed0 by thread T61:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::rehash(int) tools/qhash.cpp:688 (libQt5Core.so.5+0xf4759)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b2400475ed0 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b74002ff160 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #47 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #48 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #49 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #50 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #51 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #52 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #53 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #54 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #55 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #56 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #59 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #60 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b74002ff160 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 2056 at 0x7b74002fee00 allocated by thread T13:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44004dbea8 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x15fa52)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x15fa52)
    #3 QmlJS::Snapshot::documentsInDirectory(QString const&) const ../../src/libs/qmljs/qmljsdocument.cpp:627 (libQmlJS.so.7+0x15fa52)
    #4 findNewImplicitImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:722 (libQmlJS.so.7+0x1da0c5)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:991 (libQmlJS.so.7+0x1da0c5)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b44004dbea8 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 296 at 0x7b44004dbe80 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::rehash(int) tools/qhash.cpp:665 (libQt5Core.so.5+0xf4676)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000654ec8 by thread T68:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #55 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #56 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #57 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #59 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #60 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #61 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #62 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000654ec8 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000654ec0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #52 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #53 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #54 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #55 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #56 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #57 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #58 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c009d5250 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x163a1b)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x163a1b)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x163a1b)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x163a1b)
    #5 QHash<QString, QmlJS::LibraryInfo>::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x163a1b)
    #6 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x163a1b)
    #7 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a1b)
    #8 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #9 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #10 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c009d5250 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009d5240 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000654ee8 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x21672f)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x21672f)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x21672f)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #52 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #53 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #54 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #55 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #56 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #59 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #60 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000654ee8 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000654ec0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #52 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #53 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #54 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #55 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #56 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #57 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #58 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000654ef0 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x216748)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216748)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216748)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #52 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #53 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #54 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #55 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #56 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #59 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #60 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000654ef0 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000654ec0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #52 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #53 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #54 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #55 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #56 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #57 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #58 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c009d5264 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 (libQmlJS.so.7+0x163a41)
    #1 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a41)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a41)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c009d5260 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009d5240 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic write of size 4 at 0x7b08008221c0 by thread T68:
    #0 __tsan_atomic32_fetch_add ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:615 (libtsan.so.0+0x7f0a9)
    #1 std::__atomic_base<int>::operator++() /usr/include/c++/9/bits/atomic_base.h:319 (libCPlusPlus.so.7+0x216770)
    #2 bool QAtomicOps<int>::ref<int>(std::atomic<int>&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:283 (libCPlusPlus.so.7+0x216770)
    #3 QBasicAtomicInteger<int>::ref() /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:118 (libCPlusPlus.so.7+0x216770)
    #4 QSharedPointer<CPlusPlus::Document>::ref() const /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:503 (libCPlusPlus.so.7+0x216770)
    #5 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:327 (libCPlusPlus.so.7+0x216770)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216770)
    #7 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216770)
    #8 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #9 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #10 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #58 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #59 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #60 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #61 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #64 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b08008221c0 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 24 at 0x7b08008221c0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QtSharedPointer::ExternalRefCountWithCustomDeleter<CPlusPlus::Document, QtSharedPointer::NormalDeleter>::create(CPlusPlus::Document*, QtSharedPointer::NormalDeleter, void (*)(QtSharedPointer::ExternalRefCountData*)) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:218 (libCPlusPlus.so.7+0x214deb)
    #2 void QSharedPointer<CPlusPlus::Document>::internalConstruct<CPlusPlus::Document, QtSharedPointer::NormalDeleter>(CPlusPlus::Document*, QtSharedPointer::NormalDeleter) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:481 (libCPlusPlus.so.7+0x214deb)
    #3 QSharedPointer<CPlusPlus::Document>::QSharedPointer<CPlusPlus::Document, true>(CPlusPlus::Document*) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:316 (libCPlusPlus.so.7+0x214deb)
    #4 CPlusPlus::Document::create(QString const&) ../../src/libs/cplusplus/CppDocument.cpp:661 (libCPlusPlus.so.7+0x214deb)
    #5 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:470 (libCppEditor.so+0x3d400f)
    #6 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #7 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #8 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #9 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #10 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #11 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #12 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #13 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #14 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #15 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #16 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #17 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #18 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #19 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #20 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #21 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #22 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #23 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #24 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #25 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #26 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #27 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #28 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #29 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #30 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #31 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #32 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #33 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #34 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #35 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #36 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #37 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #38 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #39 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #40 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #41 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #42 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #43 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #44 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #45 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #46 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #47 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #48 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #49 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #50 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #51 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #52 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #53 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #54 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #55 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #56 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:319 in std::__atomic_base<int>::operator++()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c009d5248 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x16996d)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x163a61)
    #2 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a61)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a61)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c009d5248 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009d5240 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b54001a15b8 by thread T62:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x169984)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x163a61)
    #2 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:773 (libQmlJS.so.7+0x163a61)
    #3 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x163a61)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b54001a15b8 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 536 at 0x7b54001a1580 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c002bc238 by thread T61:
    #0 QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x1523aa)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c002bc238 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c002bc230 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c002bc240 by thread T61:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x1523d3)
    #1 QHashNode<QString, QmlJS::LibraryInfo>::QHashNode(QString const&, QmlJS::LibraryInfo const&, unsigned int, QHashNode<QString, QmlJS::LibraryInfo>*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x1523d3)
    #2 QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x1523d3)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c002bc240 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c002bc230 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c009d4bc0 by main thread:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x1543b5)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x1543b5)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x1543b5)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x1543b5)
    #5 QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x1543b5)
    #6 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543b5)
    #7 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #8 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:121 (libQmlJS.so.7+0x1fe5bb)
    #9 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #10 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #11 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #12 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #14 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #15 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c009d4bc0 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009d4bb0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b74002fef08 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #47 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #48 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #49 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #50 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #51 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #52 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #53 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #54 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b74002fef08 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 2056 at 0x7b74002fee00 allocated by thread T13:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 1 at 0x7b0c009d4bd8 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 (libQmlJS.so.7+0x1543d6)
    #1 QmlJS::Snapshot::Snapshot(QmlJS::Snapshot const&) ../../src/libs/qmljs/qmljsdocument.h:232 (libQmlJS.so.7+0x1543d6)
    #2 QmlJS::ModelManagerInterface::snapshot() const ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:320 (libQmlJS.so.7+0x1ceb8f)
    #3 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:121 (libQmlJS.so.7+0x1fe5bb)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c009d4bd8 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009d4bb0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:249 in QHash<QString, QmlJS::LibraryInfo>::QHash(QHash<QString, QmlJS::LibraryInfo> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10005facc8 by thread T68:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #49 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #50 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #51 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #52 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #53 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #54 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #55 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #56 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10005facc8 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10005facc0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #45 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #46 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #47 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #48 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #49 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #50 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #51 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c009d4bd0 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x162a54)
    #1 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a54)
    #2 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a54)
    #3 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c009d4bd0 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009d4bb0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005face8 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x21672f)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x21672f)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x21672f)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #46 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #47 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #48 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #49 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #51 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #52 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #53 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #54 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10005face8 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10005facc0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #45 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #46 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #47 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #48 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #49 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #50 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #51 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c009d4bb8 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x16996d)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b0c009d4bb8 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c009d4bb0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10005facf0 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x216748)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216748)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216748)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #46 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #47 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #48 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #49 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #51 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #52 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #53 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #54 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10005facf0 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10005facc0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #45 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #46 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #47 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #48 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #49 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #50 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #51 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000668f50 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000668f50 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #3 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #4 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #5 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000668f40 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b54001a1658 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x169984)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b54001a1658 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 536 at 0x7b54001a1580 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006687d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006687d0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #4 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #5 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006687c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c00287098 by main thread:
    #0 QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x1699ee)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1699ee)
    #2 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #5 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #6 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #7 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #8 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #9 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #10 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #11 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #12 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c00287098 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c00287090 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000644d50 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000644d50 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000644d40 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c002870a8 by main thread:
    #0 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162a95)
    #1 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162a95)
    #2 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a95)
    #3 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c002870a8 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c00287090 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsdocument.h:173 in QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000641d50 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000641d50 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000641d40 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c002870b0 by main thread:
    #0 QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151479)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162aba)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162aba)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162aba)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c002870b0 by thread T61:
    #0 QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151484)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x152431)
    #2 QHashNode<QString, QmlJS::LibraryInfo>::QHashNode(QString const&, QmlJS::LibraryInfo const&, unsigned int, QHashNode<QString, QmlJS::LibraryInfo>*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x152431)
    #3 QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x152431)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c00287090 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000645190 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000645190 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000645180 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c002870b8 by main thread:
    #0 QList<QmlDirParser::Plugin>::QList(QList<QmlDirParser::Plugin> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x1511f9)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162ad0)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162ad0)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162ad0)
    #4 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:122 (libQmlJS.so.7+0x1fe5d9)
    #5 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #10 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7b1c002870b8 by thread T61:
    #0 QList<QmlDirParser::Plugin>::QList(QList<QmlDirParser::Plugin> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151204)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x152446)
    #2 QHashNode<QString, QmlJS::LibraryInfo>::QHashNode(QString const&, QmlJS::LibraryInfo const&, unsigned int, QHashNode<QString, QmlJS::LibraryInfo>*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x152446)
    #3 QHash<QString, QmlJS::LibraryInfo>::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x152446)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c00287090 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlDirParser::Plugin>::QList(QList<QmlDirParser::Plugin> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006454d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006454d0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006454c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000645550 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000645550 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000645540 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000645650 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000645650 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000645640 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000645788 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000645788 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000645780 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000645850 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000645850 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000645840 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #13 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #14 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #15 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006455d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006455d0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006455c0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #13 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #14 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #15 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #16 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #17 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #18 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #19 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #20 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #21 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #22 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #23 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #24 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #25 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #26 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #27 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #28 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00a2b460 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x18e9e6)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x18e9e6)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x18e9e6)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x18e9e6)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18e9e6)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18e9e6)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00a2b460 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00a2b460 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #3 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00a1f030 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x169595)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #2 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00a1f030 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00a1f010 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00a1f018 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x1694cd)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00a1f018 by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00a1f010 allocated by thread T62:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b7400102c20 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b7400102c20 by thread T62:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 2056 at 0x7b7400102c00 allocated by thread T62:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006795d0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006795d0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006795c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000679948 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000679948 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000679940 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000679910 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000679910 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000679900 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000679810 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000679810 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000679800 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006796d0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006796d0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006796c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #13 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #14 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #15 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006772d0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006772d0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006772c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #13 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #14 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #15 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #16 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #17 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #18 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #19 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #20 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #21 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #22 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #28 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000678cd0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1000678cd0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #13 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #14 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #15 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b1000678cc0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #13 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #14 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #15 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #16 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #17 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #18 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #19 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #20 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #21 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #22 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #23 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #26 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #28 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #29 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b4000392500 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x154ae2)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x154ae2)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x154ae2)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libQmlJS.so.7+0x154ae2)
    #5 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:856 (libQmlJS.so.7+0x154ae2)
    #6 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #7 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #8 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b4000392500 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x169299)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 256 at 0x7b4000392500 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QListData::detach_grow(int*, int) tools/qlist.cpp:96 (libQt5Core.so.5+0xf5b46)
    #2 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x169299)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b080078b538 by thread T61:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b080078b538 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::detach_helper_grow(int, int) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:826 (libQmlJS.so.7+0x168fda)
    #1 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:623 (libQmlJS.so.7+0x169299)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08007a0b68 by main thread:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:121 (libQmlJS.so.7+0x1fefef)
    #3 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #5 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #8 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #9 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous read of size 4 at 0x7b08007a0b68 by thread T62:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00a58e04 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16003b)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16003b)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00a58e00 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00a58df0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00a58e10 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x169595)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #2 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00a58e10 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00a58df0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00a58df8 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x1694cd)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00a58df8 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00a58df0 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b74001012a8 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b74001012a8 by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 2056 at 0x7b7400100e00 allocated by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006b6ac8 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006b6ac8 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006b6ac0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006b68c8 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006b68c8 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006b68c0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006b6908 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006b6908 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006b6900 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006b6950 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006b6950 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006b6940 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006b69d0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006b69d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006b69c0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000652f80 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x220233)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #41 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #42 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #43 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #44 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #45 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #46 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #47 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #48 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #49 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000652f80 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000652f80 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006b7dd0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006b7dd0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006b7dc0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1000682708 by thread T68:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #42 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #43 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #44 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #45 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #46 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #47 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #49 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #50 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000682708 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000682700 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #39 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #40 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #41 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #42 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #43 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #44 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #45 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #46 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006b7fc8 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006b7fc8 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006b7fc0 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000682728 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x21672f)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x21672f)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x21672f)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #40 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #41 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #42 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #43 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #44 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #45 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #46 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #47 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #48 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000682728 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000682700 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #39 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #40 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #41 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #42 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #43 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #44 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #45 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #46 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006b8010 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006b8010 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006b8000 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000682730 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x216748)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216748)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216748)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #40 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #41 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #42 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #43 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #44 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #45 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #46 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #47 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #48 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000682730 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000682700 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #39 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #40 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #41 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #42 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #43 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #44 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #45 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #46 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006b8090 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006b8090 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006b8080 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #13 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #14 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #15 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006b8110 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006b8110 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006b8100 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #13 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #14 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #15 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #16 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #17 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #18 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #19 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #20 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #21 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #22 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #28 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006b8190 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006b8190 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #13 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #14 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #15 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10006b8180 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #13 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #14 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #15 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #16 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #17 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #18 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #19 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #20 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #21 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #22 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #23 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #26 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #28 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #29 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000654440 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x220233)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #47 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #48 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #49 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #50 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #51 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #52 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #53 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #54 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #55 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #56 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #59 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #60 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000654440 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000654440 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000654880 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x220233)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #47 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #48 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #49 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #50 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #51 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #52 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #53 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #54 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000654880 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000654880 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c00b27cd0 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x18f463)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x18f463)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x18f463)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x18f463)
    #5 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f463)
    #6 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f463)
    #7 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00b27cd0 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00b27cd0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00b27ce0 by thread T62:
    #0 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 (libQmlJS.so.7+0x18dde3)
    #1 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18f47b)
    #2 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00b27ce0 by thread T61:
    #0 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef19)
    #1 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #2 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00b27cd0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QMapDataBase::createData() tools/qmap.cpp:360 (libQt5Core.so.5+0xf6ff7)
    #2 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #3 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #4 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:283 in QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10006bdc98 by thread T62:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18f47b)
    #6 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006bdc98 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10006bdc80 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10006bdca0 by thread T62:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18f47b)
    #8 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10006bdca0 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10006bdc80 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #4 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18acd8)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18acd8)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18acd8)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b74002ff148 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #41 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #42 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #43 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #44 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #45 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #46 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #47 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #48 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #49 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b74002ff148 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 2056 at 0x7b74002fee00 allocated by thread T13:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic write of size 4 at 0x7b080082de60 by thread T68:
    #0 __tsan_atomic32_fetch_add ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:615 (libtsan.so.0+0x7f0a9)
    #1 std::__atomic_base<int>::operator++() /usr/include/c++/9/bits/atomic_base.h:319 (libCPlusPlus.so.7+0x216770)
    #2 bool QAtomicOps<int>::ref<int>(std::atomic<int>&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:283 (libCPlusPlus.so.7+0x216770)
    #3 QBasicAtomicInteger<int>::ref() /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:118 (libCPlusPlus.so.7+0x216770)
    #4 QSharedPointer<CPlusPlus::Document>::ref() const /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:503 (libCPlusPlus.so.7+0x216770)
    #5 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:327 (libCPlusPlus.so.7+0x216770)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216770)
    #7 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216770)
    #8 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #9 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #10 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #52 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #53 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #54 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #55 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #56 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #58 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #59 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b080082de60 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 24 at 0x7b080082de60 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QtSharedPointer::ExternalRefCountWithCustomDeleter<CPlusPlus::Document, QtSharedPointer::NormalDeleter>::create(CPlusPlus::Document*, QtSharedPointer::NormalDeleter, void (*)(QtSharedPointer::ExternalRefCountData*)) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:218 (libCPlusPlus.so.7+0x214deb)
    #2 void QSharedPointer<CPlusPlus::Document>::internalConstruct<CPlusPlus::Document, QtSharedPointer::NormalDeleter>(CPlusPlus::Document*, QtSharedPointer::NormalDeleter) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:481 (libCPlusPlus.so.7+0x214deb)
    #3 QSharedPointer<CPlusPlus::Document>::QSharedPointer<CPlusPlus::Document, true>(CPlusPlus::Document*) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:316 (libCPlusPlus.so.7+0x214deb)
    #4 CPlusPlus::Document::create(QString const&) ../../src/libs/cplusplus/CppDocument.cpp:661 (libCPlusPlus.so.7+0x214deb)
    #5 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:470 (libCppEditor.so+0x3d400f)
    #6 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #7 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #8 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #9 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #10 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #11 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #12 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #13 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #14 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #15 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #16 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #17 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #18 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #19 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #20 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #21 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #22 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #23 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #24 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #25 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #26 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #27 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #28 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #29 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #30 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #31 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #32 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #33 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #34 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #35 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #36 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #37 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #38 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #39 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #40 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #41 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #42 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #43 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #44 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #45 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #46 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #47 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #48 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #49 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #50 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:319 in std::__atomic_base<int>::operator++()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00b280d4 by main thread:
    #0 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a40)
    #1 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a40)
    #2 QmlJS::PluginDumper::dump(QmlJS::PluginDumper::Plugin const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:641 (libQmlJS.so.7+0x1fdf55)
    #3 QmlJS::PluginDumper::onLoadPluginTypes(QString const&, QString const&, QString const&, QString const&) ../../src/libs/qmljs/qmljsplugindumper.cpp:179 (libQmlJS.so.7+0x1fefd1)
    #4 operator() ../../src/libs/qmljs/qmljsplugindumper.cpp:77 (libQmlJS.so.7+0x1ff304)
    #5 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJS.so.7+0x1ff304)
    #6 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJS.so.7+0x1ff304)
    #7 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJS.so.7+0x1ff304)
    #8 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #9 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #10 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 4 at 0x7b0c00b280d4 by thread T61:
    #0 QHash<QString, QmlJS::LibraryInfo>::createNode(unsigned int, QString const&, QmlJS::LibraryInfo const&, QHashNode<QString, QmlJS::LibraryInfo>**) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:612 (libQmlJS.so.7+0x16700a)
    #1 QHash<QString, QmlJS::LibraryInfo>::insert(QString const&, QmlJS::LibraryInfo const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:777 (libQmlJS.so.7+0x16700a)
    #2 QmlJS::Snapshot::insertLibraryInfo(QString const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.cpp:493 (libQmlJS.so.7+0x16700a)
    #3 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00b280c0 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b44004de968 by thread T62:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:578 (libQt5Core.so.5+0xf42cf)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b44004de968 by thread T55:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c00b26478 by thread T62:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b0c00b26478 by thread T55:
    [failed to restore the stack]

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00b5ad44 by thread T55:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16003b)
    #1 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16003b)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b0c00b5ad44 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c00b5ad30 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7bd000160018 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bd000160018 by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00b26da8 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a40)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00b26da8 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00b26da0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b08008bc528 by thread T55:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b08008bc528 by thread T62:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00b26db0 by thread T61:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x150a69)
    #1 QHashNode<QString, QSharedPointer<QmlJS::Document const> >::QHashNode(QString const&, QSharedPointer<QmlJS::Document const> const&, unsigned int, QHashNode<QString, QSharedPointer<QmlJS::Document const> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x150a69)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a69)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #5 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #6 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #7 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #9 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00b26db0 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00b26da0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7bd000160400 by main thread:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd884)
    #3 QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*) ../../include/QtCore/../../src/corelib/tools/qvector.h:942 (libQt5Core.so.5+0x2cd884)
    #4 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Previous write of size 8 at 0x7bd000160400 by thread T68:
    #0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
    #1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
    #2 memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 (libQt5Core.so.5+0x2cd16d)
    #3 QVector<QPostEvent>::realloc(int, QFlags<QArrayData::AllocationOption>) ../../include/QtCore/../../src/corelib/tools/qvector.h:737 (libQt5Core.so.5+0x2cd16d)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #46 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #47 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #48 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #49 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #51 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #52 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #53 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #54 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b44004de9d0 by thread T55:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:578 (libQt5Core.so.5+0xf42cf)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b44004de9d0 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c00b27af8 by thread T55:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b0c00b27af8 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c00b27b10 by thread T55:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:989 (libQmlJS.so.7+0x1da53b)
    #3 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #4 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #5 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #8 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b0c00b27b10 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:928 (libQmlJS.so.7+0x168c6c)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b5c00014ce8 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:634 (libQmlJS.so.7+0x1603e3)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1603e3)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:754 (libQmlJS.so.7+0x1603e3)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:591 (libQmlJS.so.7+0x1603e3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b5c00014ce8 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x16071f)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:754 (libQmlJS.so.7+0x16071f)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16071f)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 840 at 0x7b5c00014c80 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QmlJSTools::Internal::QmlJSToolsPlugin::initialize(QStringList const&, QString*) ../../src/plugins/qmljstools/qmljstoolsplugin.cpp:77 (libQmlJSTools.so+0x6de30)
    #2 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() ../../src/libs/extensionsystem/pluginspec.cpp:1123 (libExtensionSystem.so.7+0x51c7b)
    #3 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) ../../src/libs/extensionsystem/pluginmanager.cpp:1641 (libExtensionSystem.so.7+0x43985)
    #4 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:1366 (libExtensionSystem.so.7+0x4466a)
    #5 ExtensionSystem::PluginManager::loadPlugins() ../../src/libs/extensionsystem/pluginmanager.cpp:338 (libExtensionSystem.so.7+0x449f6)
    #6 main ../../src/app/main.cpp:747 (qtcreator+0xf2d5)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:634 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach_helper()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00b91c08 by thread T62:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a40)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00b91c08 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00b91c00 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00b91c10 by thread T62:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x150a69)
    #1 QHashNode<QString, QSharedPointer<QmlJS::Document const> >::QHashNode(QString const&, QSharedPointer<QmlJS::Document const> const&, unsigned int, QHashNode<QString, QSharedPointer<QmlJS::Document const> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x150a69)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a69)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #5 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #6 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00b91c10 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00b91c00 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00bc3798 by thread T62:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a40)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00bc3798 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00bc3790 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800765068 by thread T20:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 std::_Head_base<1ul, QmlJS::Snapshot, false>::~_Head_base() /usr/include/c++/9/tuple:120 (libQmlJSEditor.so+0x10c15b)
    #3 std::_Tuple_impl<1ul, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool>::~_Tuple_impl() /usr/include/c++/9/tuple:185 (libQmlJSEditor.so+0x10c15b)
    #4 std::_Tuple_impl<0ul, void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool>::~_Tuple_impl() /usr/include/c++/9/tuple:185 (libQmlJSEditor.so+0x10c15b)
    #5 std::tuple<void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool>::~tuple() /usr/include/c++/9/tuple:523 (libQmlJSEditor.so+0x10c15b)
    #6 Utils::Internal::AsyncJob<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages, void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&>::~AsyncJob() ../../src/libs/utils/runextensions.h:338 (libQmlJSEditor.so+0x10c15b)
    #7 Utils::Internal::AsyncJob<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages, void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&>::~AsyncJob() ../../src/libs/utils/runextensions.h:338 (libQmlJSEditor.so+0x10c15b)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:41 (libUtils.so.7+0x32ee0b)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b0800765068 by thread T55:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T20 'QThread' (tid=1304001, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages> Utils::runAsync<void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&, QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot&&, QList<QmlJS::ModelManagerInterface::ProjectInfo>&&, QmlJS::ViewerContext&&, bool&) ../../src/libs/utils/runextensions.h:457 (libQmlJSEditor.so+0x103d91)
    #3 QFuture<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages> Utils::runAsync<void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&, void, QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>(void (*&&)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot&&, QList<QmlJS::ModelManagerInterface::ProjectInfo>&&, QmlJS::ViewerContext&&, bool&) ../../src/libs/utils/runextensions.h:531 (libQmlJSEditor.so+0x103d91)
    #4 QmlJSEditor::Internal::QmlTaskManager::updateMessagesNow(bool) ../../src/plugins/qmljseditor/qmltaskmanager.cpp:155 (libQmlJSEditor.so+0x103d91)
    #5 operator() ../../src/plugins/qmljseditor/qmltaskmanager.cpp:60 (libQmlJSEditor.so+0x104615)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSEditor.so+0x104615)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSEditor.so+0x104615)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSEditor.so+0x104615)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00bc37a0 by thread T62:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x150a69)
    #1 QHashNode<QString, QSharedPointer<QmlJS::Document const> >::QHashNode(QString const&, QSharedPointer<QmlJS::Document const> const&, unsigned int, QHashNode<QString, QSharedPointer<QmlJS::Document const> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x150a69)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x150a69)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #5 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #6 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00bc37a0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00bc3790 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800765078 by thread T20:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 std::_Head_base<1ul, QmlJS::Snapshot, false>::~_Head_base() /usr/include/c++/9/tuple:120 (libQmlJSEditor.so+0x10c15b)
    #3 std::_Tuple_impl<1ul, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool>::~_Tuple_impl() /usr/include/c++/9/tuple:185 (libQmlJSEditor.so+0x10c15b)
    #4 std::_Tuple_impl<0ul, void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool>::~_Tuple_impl() /usr/include/c++/9/tuple:185 (libQmlJSEditor.so+0x10c15b)
    #5 std::tuple<void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool>::~tuple() /usr/include/c++/9/tuple:523 (libQmlJSEditor.so+0x10c15b)
    #6 Utils::Internal::AsyncJob<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages, void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&>::~AsyncJob() ../../src/libs/utils/runextensions.h:338 (libQmlJSEditor.so+0x10c15b)
    #7 Utils::Internal::AsyncJob<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages, void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&>::~AsyncJob() ../../src/libs/utils/runextensions.h:338 (libQmlJSEditor.so+0x10c15b)
    #8 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:41 (libUtils.so.7+0x32ee0b)
    #9 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b0800765078 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x169273)
    #1 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T20 'QThread' (tid=1304001, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages> Utils::runAsync<void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&, QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot&&, QList<QmlJS::ModelManagerInterface::ProjectInfo>&&, QmlJS::ViewerContext&&, bool&) ../../src/libs/utils/runextensions.h:457 (libQmlJSEditor.so+0x103d91)
    #3 QFuture<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages> Utils::runAsync<void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&, void, QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>(void (*&&)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot&&, QList<QmlJS::ModelManagerInterface::ProjectInfo>&&, QmlJS::ViewerContext&&, bool&) ../../src/libs/utils/runextensions.h:531 (libQmlJSEditor.so+0x103d91)
    #4 QmlJSEditor::Internal::QmlTaskManager::updateMessagesNow(bool) ../../src/plugins/qmljseditor/qmltaskmanager.cpp:155 (libQmlJSEditor.so+0x103d91)
    #5 operator() ../../src/plugins/qmljseditor/qmltaskmanager.cpp:60 (libQmlJSEditor.so+0x104615)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSEditor.so+0x104615)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSEditor.so+0x104615)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSEditor.so+0x104615)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b74001055a8 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1694e4)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b74001055a8 by thread T62:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 2056 at 0x7b7400105400 allocated by thread T62:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1698b7)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::remove(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:815 (libQmlJS.so.7+0x1698b7)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:593 (libQmlJS.so.7+0x16029f)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007bd4d0 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007bd4d0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007bd4c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007bd5c8 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007bd5c8 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007bd5c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007bd610 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007bd610 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007bd600 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #13 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #14 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #15 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007bd690 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007bd690 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007bd680 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #13 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #14 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #15 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #16 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #17 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #18 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #19 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #20 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #21 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #22 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #28 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007bd710 by thread T61:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007bd710 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #13 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #14 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #15 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007bd700 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #13 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #14 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #15 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #16 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #17 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #18 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #19 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #20 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #21 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #22 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #23 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #26 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #28 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #29 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10007b9658 by thread T61:
    #0 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 (libQmlJS.so.7+0x1822ec)
    #1 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #2 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #4 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #5 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #6 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007b9658 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #11 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #12 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10007b9640 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #11 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #12 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsimportdependencies.cpp:361 in QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007b9660 by thread T61:
    #0 QList<QString>::size() const /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 (libQmlJS.so.7+0x182390)
    #1 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:367 (libQmlJS.so.7+0x182390)
    #2 QmlJS::ImportKey::compare(QmlJS::ImportKey const&) const ../../src/libs/qmljs/qmljsimportdependencies.cpp:359 (libQmlJS.so.7+0x182390)
    #3 QmlJS::operator<(QmlJS::ImportKey const&, QmlJS::ImportKey const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:529 (libQmlJS.so.7+0x18de10)
    #4 bool qMapLessThanKey<QmlJS::ImportKey>(QmlJS::ImportKey const&, QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:68 (libQmlJS.so.7+0x18de10)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::lowerBound(QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:152 (libQmlJS.so.7+0x18de10)
    #6 QMapData<QmlJS::ImportKey, QStringList>::findNode(QmlJS::ImportKey const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18de10)
    #7 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:677 (libQmlJS.so.7+0x18ac52)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:781 (libQmlJS.so.7+0x18ac52)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007b9660 by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #11 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #12 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 56 at 0x7b10007b9640 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #4 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #5 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #6 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #7 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x1526fe)
    #8 QMapNode<QmlJS::ImportKey, QStringList>::copy(QMapData<QmlJS::ImportKey, QStringList>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x152749)
    #9 QMap<QmlJS::ImportKey, QStringList>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18ef0d)
    #10 QMap<QmlJS::ImportKey, QStringList>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18f4bf)
    #11 QMap<QmlJS::ImportKey, QStringList>::operator[](QmlJS::ImportKey const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:676 (libQmlJS.so.7+0x18f4bf)
    #12 QmlJS::ImportDependencies::removeImportCacheEntry(QmlJS::ImportKey const&, QString const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:814 (libQmlJS.so.7+0x18a0d2)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:775 (libQmlJS.so.7+0x18ab1f)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:176 in QList<QString>::size() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b10006df540 by thread T61:
    #0 realloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:681 (libtsan.so.0+0x32646)
    #1 QListData::realloc_grow(int) tools/qlist.cpp:170 (libQt5Core.so.5+0xf5cf7)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:683 (libQmlJS.so.7+0x1ca5f8)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous atomic write of size 4 at 0x7b10006df540 by thread T20:
    #0 __tsan_atomic32_fetch_sub ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:642 (libtsan.so.0+0x7fca8)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::deleteNode2(QHashData::Node*) <null> (libQmlJS.so.7+0x150b73)
    #2 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:572 (libQt5Core.so.5+0xf4297)
    #3 std::_Head_base<1ul, QmlJS::Snapshot, false>::~_Head_base() /usr/include/c++/9/tuple:120 (libQmlJSEditor.so+0x10c15b)
    #4 std::_Tuple_impl<1ul, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool>::~_Tuple_impl() /usr/include/c++/9/tuple:185 (libQmlJSEditor.so+0x10c15b)
    #5 std::_Tuple_impl<0ul, void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool>::~_Tuple_impl() /usr/include/c++/9/tuple:185 (libQmlJSEditor.so+0x10c15b)
    #6 std::tuple<void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool>::~tuple() /usr/include/c++/9/tuple:523 (libQmlJSEditor.so+0x10c15b)
    #7 Utils::Internal::AsyncJob<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages, void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&>::~AsyncJob() ../../src/libs/utils/runextensions.h:338 (libQmlJSEditor.so+0x10c15b)
    #8 Utils::Internal::AsyncJob<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages, void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&>::~AsyncJob() ../../src/libs/utils/runextensions.h:338 (libQmlJSEditor.so+0x10c15b)
    #9 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:41 (libUtils.so.7+0x32ee0b)
    #10 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T20 'QThread' (tid=1304001, finished) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QFuture<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages> Utils::runAsync<void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&, QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>(QThreadPool*, QThread::Priority, void (*&&)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot&&, QList<QmlJS::ModelManagerInterface::ProjectInfo>&&, QmlJS::ViewerContext&&, bool&) ../../src/libs/utils/runextensions.h:457 (libQmlJSEditor.so+0x103d91)
    #3 QFuture<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages> Utils::runAsync<void (*)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo>, QmlJS::ViewerContext, bool&, void, QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>(void (*&&)(QFutureInterface<QmlJSEditor::Internal::QmlTaskManager::FileErrorMessages>&, QmlJS::Snapshot, QList<QmlJS::ModelManagerInterface::ProjectInfo> const&, QmlJS::ViewerContext, bool), QmlJS::Snapshot&&, QList<QmlJS::ModelManagerInterface::ProjectInfo>&&, QmlJS::ViewerContext&&, bool&) ../../src/libs/utils/runextensions.h:531 (libQmlJSEditor.so+0x103d91)
    #4 QmlJSEditor::Internal::QmlTaskManager::updateMessagesNow(bool) ../../src/plugins/qmljseditor/qmltaskmanager.cpp:155 (libQmlJSEditor.so+0x103d91)
    #5 operator() ../../src/plugins/qmljseditor/qmltaskmanager.cpp:60 (libQmlJSEditor.so+0x104615)
    #6 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSEditor.so+0x104615)
    #7 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSEditor.so+0x104615)
    #8 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSEditor.so+0x104615)
    #9 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #10 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #11 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qlist.cpp:170 in QListData::realloc_grow(int)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007bd890 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007bd890 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #5 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #6 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #7 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #8 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #9 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #10 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #11 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #12 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #18 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007bd880 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007c0088 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007c0088 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #6 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #7 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #8 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #9 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #10 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #11 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #12 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #13 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #17 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #19 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007c0080 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007c00d0 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007c00d0 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #7 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #8 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #9 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #10 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #11 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #12 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #13 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #14 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #15 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #18 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #20 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007c00c0 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007c0350 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007c0350 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #8 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #9 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #10 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #11 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #12 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #13 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #14 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #15 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #16 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #19 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #21 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007c0340 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007c0550 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007c0550 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #9 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #10 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #11 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #12 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #13 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #14 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #15 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #16 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #17 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #20 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #22 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007c0540 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007c0748 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 (libQmlJS.so.7+0x18debb)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18debb)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007c0748 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154134)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #10 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #11 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #12 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #13 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #14 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #15 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #16 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #17 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #18 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #21 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #23 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007c0740 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:154 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007c0790 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007c0790 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #11 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #12 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #13 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #14 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #15 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #16 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #17 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #18 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #19 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #22 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #24 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007c0780 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007c0810 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007c0810 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #12 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #13 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #14 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #15 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #16 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #17 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #18 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #19 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #20 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #23 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #25 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007c0800 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #13 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #14 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #15 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b74002ff328 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #47 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #48 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #49 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #50 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #51 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #52 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #53 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #54 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #55 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #56 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #57 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #58 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #59 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #60 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #61 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #62 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #64 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #65 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #66 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #67 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b74002ff328 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 2056 at 0x7b74002fee00 allocated by thread T13:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007c0890 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007c0890 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x15417f)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #13 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #14 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #15 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #16 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #17 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #18 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #19 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #20 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #21 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #24 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #26 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007c0880 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #13 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #14 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #15 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #16 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #17 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #18 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #19 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #20 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #21 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #22 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #28 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10007a7888 by thread T68:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #60 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #61 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #62 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #63 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #64 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #65 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #66 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #67 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #68 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007a7888 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007a7880 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #58 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #59 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #60 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #61 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #62 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #63 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #64 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007c0910 by thread T55:
    #0 QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 (libQmlJS.so.7+0x18dedd)
    #1 QMapData<QString, QmlJS::CoreImport>::findNode(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:284 (libQmlJS.so.7+0x18dedd)
    #2 QMap<QString, QmlJS::CoreImport>::contains(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:703 (libQmlJS.so.7+0x18a9f3)
    #3 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:771 (libQmlJS.so.7+0x18a9f3)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b10007c0910 by thread T62:
    #0 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:267 (libQmlJS.so.7+0x1541e1)
    #1 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #2 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #13 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #14 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #15 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #16 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #17 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #18 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #19 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #20 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #21 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #22 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #23 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #25 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #26 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #27 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 64 at 0x7b10007c0900 allocated by thread T62:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 qMapAllocate tools/qmap.cpp:316 (libQt5Core.so.5+0xf6f64)
    #2 QMapDataBase::createNode(int, int, QMapNodeBase*, bool) tools/qmap.cpp:329 (libQt5Core.so.5+0xf6f64)
    #3 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #4 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #5 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #6 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #7 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #8 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #9 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #10 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #11 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #12 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #13 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:258 (libQmlJS.so.7+0x154127)
    #14 QMapNode<QString, QmlJS::CoreImport>::copy(QMapData<QString, QmlJS::CoreImport>*) const /usr/local/Qt-5.15.2/include/QtCore/qmap.h:264 (libQmlJS.so.7+0x154172)
    #15 QMap<QString, QmlJS::CoreImport>::detach_helper() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:972 (libQmlJS.so.7+0x18e80d)
    #16 QMap<QString, QmlJS::CoreImport>::detach() /usr/local/Qt-5.15.2/include/QtCore/qmap.h:357 (libQmlJS.so.7+0x18ec17)
    #17 QMap<QString, QmlJS::CoreImport>::insert(QString const&, QmlJS::CoreImport const&) /usr/local/Qt-5.15.2/include/QtCore/qmap.h:709 (libQmlJS.so.7+0x18ec17)
    #18 QmlJS::ImportDependencies::addCoreImport(QmlJS::CoreImport const&) ../../src/libs/qmljs/qmljsimportdependencies.cpp:782 (libQmlJS.so.7+0x18adfb)
    #19 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:485 (libQmlJS.so.7+0x160eda)
    #20 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #21 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #22 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #23 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #24 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #25 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #26 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #27 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #28 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #29 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qmap.h:156 in QMapNode<QString, QmlJS::CoreImport>::lowerBound(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007a78a8 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x21672f)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x21672f)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x21672f)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #58 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #59 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #60 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #61 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #64 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #65 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #66 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007a78a8 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007a7880 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #58 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #59 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #60 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #61 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #62 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #63 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #64 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007a78b0 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x216748)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216748)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216748)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #58 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #59 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #60 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #61 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #64 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #65 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #66 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007a78b0 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007a7880 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #58 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #59 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #60 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #61 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #62 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #63 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #64 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic write of size 4 at 0x7b08009e59c0 by thread T68:
    #0 __tsan_atomic32_fetch_add ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:615 (libtsan.so.0+0x7f0a9)
    #1 std::__atomic_base<int>::operator++() /usr/include/c++/9/bits/atomic_base.h:319 (libCPlusPlus.so.7+0x216770)
    #2 bool QAtomicOps<int>::ref<int>(std::atomic<int>&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:283 (libCPlusPlus.so.7+0x216770)
    #3 QBasicAtomicInteger<int>::ref() /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:118 (libCPlusPlus.so.7+0x216770)
    #4 QSharedPointer<CPlusPlus::Document>::ref() const /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:503 (libCPlusPlus.so.7+0x216770)
    #5 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:327 (libCPlusPlus.so.7+0x216770)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216770)
    #7 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216770)
    #8 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #9 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #10 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #57 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #58 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #59 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #60 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #61 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #62 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #63 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #64 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #65 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #66 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #67 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #68 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #69 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #70 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #71 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b08009e59c0 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 24 at 0x7b08009e59c0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QtSharedPointer::ExternalRefCountWithCustomDeleter<CPlusPlus::Document, QtSharedPointer::NormalDeleter>::create(CPlusPlus::Document*, QtSharedPointer::NormalDeleter, void (*)(QtSharedPointer::ExternalRefCountData*)) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:218 (libCPlusPlus.so.7+0x214deb)
    #2 void QSharedPointer<CPlusPlus::Document>::internalConstruct<CPlusPlus::Document, QtSharedPointer::NormalDeleter>(CPlusPlus::Document*, QtSharedPointer::NormalDeleter) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:481 (libCPlusPlus.so.7+0x214deb)
    #3 QSharedPointer<CPlusPlus::Document>::QSharedPointer<CPlusPlus::Document, true>(CPlusPlus::Document*) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:316 (libCPlusPlus.so.7+0x214deb)
    #4 CPlusPlus::Document::create(QString const&) ../../src/libs/cplusplus/CppDocument.cpp:661 (libCPlusPlus.so.7+0x214deb)
    #5 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:470 (libCppEditor.so+0x3d400f)
    #6 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #7 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #8 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #9 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #10 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #11 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #12 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #13 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #14 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #15 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #16 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #17 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #18 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #19 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #20 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #21 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #22 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #23 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #24 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #25 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #26 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #27 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #28 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #29 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #30 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #31 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #32 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #33 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #34 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #35 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #36 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #37 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #38 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #39 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #40 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #41 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #42 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #43 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #44 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #45 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #46 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #47 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #48 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #49 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #50 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #51 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #52 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #53 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #54 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #55 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #56 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #57 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #58 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #59 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #60 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #61 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #62 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:319 in std::__atomic_base<int>::operator++()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00b7b5e8 by thread T61:
    #0 QHashNode<QString, QSharedPointer<QmlJS::Document const> >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x16954e)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x16954e)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #5 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #6 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #8 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00b7b5e8 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00b7b5e0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QSharedPointer<QmlJS::Document const> >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00b7b5e0 by thread T61:
    #0 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x169533)
    #1 QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x1695d3)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x16009e)
    #3 QmlJS::Snapshot::remove(QString const&) ../../src/libs/qmljs/qmljsdocument.cpp:585 (libQmlJS.so.7+0x16009e)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:476 (libQmlJS.so.7+0x160713)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00b7b5e0 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 40 at 0x7b0c00b7b5e0 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<QString, QSharedPointer<QmlJS::Document const> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x1613ff)
    #3 QHash<QString, QSharedPointer<QmlJS::Document const> >::insert(QString const&, QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libQmlJS.so.7+0x1613ff)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:478 (libQmlJS.so.7+0x1613ff)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QSharedPointer<QmlJS::Document const> >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1000653180 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x220233)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #47 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #48 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #49 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #50 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #51 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #52 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #53 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #54 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #55 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #56 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #57 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #58 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #59 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #60 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #61 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #62 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #64 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #65 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #66 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #67 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b1000653180 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b1000653180 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10007a45c8 by thread T52:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c60)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007a45c8 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007a45c0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #52 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #53 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #54 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #55 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #56 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #57 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #58 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007a45d0 by thread T52:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219c89)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219c89)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219c89)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c89)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #58 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #59 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #60 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #61 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #62 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #63 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #64 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007a45d0 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007a45c0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #52 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #53 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #54 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #55 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #56 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #57 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #58 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007a45d8 by thread T52:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219cb9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219cb9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219cb9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219cb9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #58 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #59 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #60 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #61 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #62 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #63 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #64 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007a45d8 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007a45c0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #52 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #53 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #54 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #55 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #56 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #57 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #58 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007a45e0 by thread T52:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219ce9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219ce9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219ce9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219ce9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #58 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #59 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #60 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #61 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #62 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #63 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #64 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007a45e0 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007a45c0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #52 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #53 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #54 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #55 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #56 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #57 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #58 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b20004af700 by thread T52:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libCPlusPlus.so.7+0x219d04)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libCPlusPlus.so.7+0x219d04)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libCPlusPlus.so.7+0x219d04)
    #4 QtPrivate::RefCount::ref() /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:55 (libCPlusPlus.so.7+0x219d04)
    #5 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1094 (libCPlusPlus.so.7+0x219d04)
    #6 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219d04)
    #7 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d04)
    #8 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d04)
    #9 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #10 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #11 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #12 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #13 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #14 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #15 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #16 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #17 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #56 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #57 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #58 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #59 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #60 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #61 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #62 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #63 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #64 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #65 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #66 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #67 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #68 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #69 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b20004af700 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 128 at 0x7b20004af700 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::Internal::CppSourceProcessor::resolveFile(QString const&, CPlusPlus::Client::IncludeType) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:293 (libCppEditor.so+0x3d20b4)
    #3 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:435 (libCppEditor.so+0x3d31a0)
    #4 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #5 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #6 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #7 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #8 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #47 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #48 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #49 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #50 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #51 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #52 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #53 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #54 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c004d40a4 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x2166b7)
    #1 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x2166b7)
    #2 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #3 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #4 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #52 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #53 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #54 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #55 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #56 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #58 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #59 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c004d40a0 by thread T52:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c004d4090 allocated by thread T52:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c004d40b0 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libCPlusPlus.so.7+0x2202b5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #52 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #53 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #54 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #55 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #56 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #59 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #60 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c004d40b0 by thread T52:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c004d4090 allocated by thread T52:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c004d4098 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libCPlusPlus.so.7+0x2201ce)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #47 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #48 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #49 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #50 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #51 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #52 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #53 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #54 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #55 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #56 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #59 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #60 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c004d4098 by thread T52:
    [failed to restore the stack]

  Location is heap block of size 48 at 0x7b0c004d4090 allocated by thread T52:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b7400317ec0 by thread T13:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #47 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #48 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #49 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #50 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #51 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #52 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #53 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #54 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b7400317ec0 by thread T52:
    [failed to restore the stack]

  Location is heap block of size 2056 at 0x7b7400317e00 allocated by thread T52:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10007ae248 by thread T13:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c60)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007ae248 by thread T52:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007ae240 allocated by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007ae250 by thread T13:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219c89)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219c89)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219c89)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c89)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #52 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #53 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #54 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #55 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #56 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #57 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #58 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007ae250 by thread T52:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007ae240 allocated by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00b7bd50 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libQmlJS.so.7+0x162a54)
    #1 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a54)
    #2 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a54)
    #3 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00b7bd50 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00b7bd30 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007ae258 by thread T13:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219cb9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219cb9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219cb9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219cb9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #52 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #53 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #54 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #55 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #56 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #57 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #58 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007ae258 by thread T52:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007ae240 allocated by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00b7bd38 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x16996d)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c00b7bd38 by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c00b7bd30 allocated by thread T61:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007ae260 by thread T13:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219ce9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219ce9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219ce9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219ce9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #52 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #53 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #54 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #55 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #56 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #57 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #58 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007ae260 by thread T52:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007ae240 allocated by thread T52:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b5400212808 by thread T55:
    #0 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x169984)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b5400212808 by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 536 at 0x7b5400212780 allocated by thread T61:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c005890f4 by thread T52:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x2166b7)
    #1 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x2166b7)
    #2 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #3 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #45 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #46 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #47 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #48 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #49 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #50 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #51 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c005890f0 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c005890e0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c000d9388 by thread T55:
    #0 QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x1699ee)
    #1 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x1699ee)
    #2 QHash<QString, QmlJS::LibraryInfo>::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x162a6c)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libQmlJS.so.7+0x162a6c)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a6c)
    #5 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c000d9388 by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QmlJS::LibraryInfo>::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00589100 by thread T52:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libCPlusPlus.so.7+0x2202b5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #46 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #47 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #48 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #49 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #50 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #51 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #52 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #53 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c00589100 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c005890e0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c000d9398 by thread T55:
    #0 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162a95)
    #1 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162a95)
    #2 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162a95)
    #3 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c000d9398 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsdocument.h:173 in QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c005890e8 by thread T52:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libCPlusPlus.so.7+0x2201ce)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #47 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #48 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #49 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #50 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #51 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #52 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #53 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #54 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c005890e8 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c005890e0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c000d93a0 by thread T55:
    #0 QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151479)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162aba)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162aba)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162aba)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c000d93a0 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlDirParser::Component>::QList(QList<QmlDirParser::Component> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c000d93a8 by thread T55:
    #0 QList<QmlDirParser::Plugin>::QList(QList<QmlDirParser::Plugin> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x1511f9)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162ad0)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162ad0)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162ad0)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c000d93a8 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlDirParser::Plugin>::QList(QList<QmlDirParser::Plugin> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b74002ebb48 by thread T52:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #47 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #48 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #49 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #50 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #51 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #52 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #53 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #54 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b74002ebb48 by thread T13:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 2056 at 0x7b74002eb800 allocated by thread T13:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c000d93b0 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x162ae6)
    #2 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162ae6)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162ae6)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162ae6)
    #5 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c000d93b0 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10007dc608 by thread T52:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007dc608 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007dc600 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c000d93b8 by thread T55:
    #0 QList<QSharedPointer<LanguageUtils::FakeMetaObject const> >::QList(QList<QSharedPointer<LanguageUtils::FakeMetaObject const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151909)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162afc)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162afc)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162afc)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c000d93b8 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QSharedPointer<LanguageUtils::FakeMetaObject const> >::QList(QList<QSharedPointer<LanguageUtils::FakeMetaObject const> > const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007dc628 by thread T52:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x21672f)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x21672f)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x21672f)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #46 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #47 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #48 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #49 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #50 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #51 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #52 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #53 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007dc628 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d26)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d26)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d26)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #50 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #51 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #52 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #53 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #54 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #55 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #56 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #57 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007dc600 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c000d93c0 by thread T55:
    #0 QList<QmlJS::ModuleApiInfo>::QList(QList<QmlJS::ModuleApiInfo> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x151ca9)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b0d)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b0d)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b0d)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c000d93c0 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlJS::ModuleApiInfo>::QList(QList<QmlJS::ModuleApiInfo> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007dc630 by thread T52:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x216748)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216748)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216748)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #46 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #47 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #48 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #49 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #50 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #51 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #52 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #53 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007dc630 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d43)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d43)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d43)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #50 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #51 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #52 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #53 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #54 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #55 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #56 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #57 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007dc600 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #48 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #49 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #50 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #51 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #52 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #53 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #54 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #55 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c000d93c8 by thread T55:
    #0 QList<QString>::QList(QList<QString> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x107035)
    #1 QStringList::QStringList(QStringList const&) /usr/local/Qt-5.15.2/include/QtCore/qstringlist.h:111 (libQmlJS.so.7+0x162b1e)
    #2 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b1e)
    #3 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b1e)
    #4 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b1e)
    #5 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #6 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #7 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #8 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #9 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #10 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #13 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #15 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #16 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c000d93c8 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QString>::QList(QList<QString> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c000d93d0 by thread T55:
    #0 QList<QmlDirParser::Import>::QList(QList<QmlDirParser::Import> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x150fa9)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b2c)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b2c)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b2c)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c000d93d0 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 in QList<QmlDirParser::Import>::QList(QList<QmlDirParser::Import> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0057ebc4 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x2166b7)
    #1 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x2166b7)
    #2 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #3 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #4 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #58 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #59 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #60 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #61 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #64 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c0057ebc0 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c0057ebb0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c000d93d8 by thread T55:
    #0 QByteArray::QByteArray(QByteArray const&) /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 (libQmlJS.so.7+0x162b35)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b35)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b35)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b35)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c000d93d8 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qbytearray.h:524 in QByteArray::QByteArray(QByteArray const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0057ebd0 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libCPlusPlus.so.7+0x2202b5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #58 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #59 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #60 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #61 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #64 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #65 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #66 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c0057ebd0 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c0057ebb0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b1c000d93e0 by thread T55:
    #0 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b67)
    #1 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b67)
    #2 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b67)
    #3 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #4 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #5 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #7 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 4 at 0x7b1c000d93e0 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../src/libs/qmljs/qmljsdocument.h:173 in QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0057ebb8 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libCPlusPlus.so.7+0x2201ce)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #47 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #48 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #49 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #50 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #51 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #52 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #53 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #54 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #55 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #56 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #57 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #58 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #59 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #60 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #61 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #62 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #64 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #65 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #66 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #67 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c0057ebb8 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c0057ebb0 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b1c000d93e8 by thread T55:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libQmlJS.so.7+0x162b83)
    #1 QmlJS::LibraryInfo::LibraryInfo(QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsdocument.h:173 (libQmlJS.so.7+0x162b83)
    #2 QHash<QString, QmlJS::LibraryInfo>::value(QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libQmlJS.so.7+0x162b83)
    #3 QmlJS::Snapshot::libraryInfo(Utils::FilePath const&) const ../../src/libs/qmljs/qmljsdocument.cpp:637 (libQmlJS.so.7+0x162b83)
    #4 libraryStatus ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:783 (libQmlJS.so.7+0x1cdf92)
    #5 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:832 (libQmlJS.so.7+0x1d4ced)
    #6 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #7 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #8 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #9 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #11 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #12 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #13 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #14 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #15 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b1c000d93e8 by thread T61:
    [failed to restore the stack]

  Location is heap block of size 112 at 0x7b1c000d9380 allocated by thread T61:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateLibraryInfo(Utils::FilePath const&, QmlJS::LibraryInfo const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:695 (libQmlJS.so.7+0x1ca77c)
    #3 findNewQmlLibraryInPath ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:843 (libQmlJS.so.7+0x1d52d5)
    #4 findNewLibraryImports ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:897 (libQmlJS.so.7+0x1d564f)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:993 (libQmlJS.so.7+0x1da515)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10007dff08 by thread T68:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #60 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #61 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #62 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #63 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #64 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #65 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #66 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #67 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #68 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007dff08 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007dff00 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007dff28 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x21672f)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x21672f)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x21672f)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #58 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #59 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #60 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #61 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #64 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #65 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #66 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007dff28 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d26)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d26)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d26)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #56 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #57 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #58 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #59 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #60 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #61 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #62 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #63 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #64 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #65 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #66 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #67 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #68 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #69 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #70 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #71 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #72 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #73 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #74 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #75 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007dff00 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007dff30 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x216748)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216748)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216748)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #58 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #59 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #60 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #61 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #64 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #65 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #66 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007dff30 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d43)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d43)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d43)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #56 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #57 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #58 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #59 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #60 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #61 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #62 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #63 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #64 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #65 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #66 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #67 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #68 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #69 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #70 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #71 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #72 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #73 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #74 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #75 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007dff00 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0800a34428 by thread T55:
    #0 free ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:707 (libtsan.so.0+0x35f25)
    #1 QHashData::freeNode(void*) tools/qhash.cpp:489 (libQt5Core.so.5+0xf4264)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b0800a34428 by thread T62:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race tools/qhash.cpp:489 in QHashData::freeNode(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10007dfac8 by thread T52:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #55 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #56 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #57 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #58 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #59 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #60 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007dfac8 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007dfac0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b44004df138 by thread T55:
    #0 operator delete[](void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 (libtsan.so.0+0x8b3e8)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:578 (libQt5Core.so.5+0xf42cf)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b44004df138 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:132 in operator delete[](void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007dfae8 by thread T52:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x21672f)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x21672f)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x21672f)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #52 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #53 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #54 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #55 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #56 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #57 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #58 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #59 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007dfae8 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d26)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d26)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d26)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #56 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #57 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #58 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #59 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #60 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #61 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #62 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #63 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #64 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #65 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #66 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #67 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #68 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #69 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #70 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #71 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #72 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #73 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #74 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #75 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007dfac0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c00d08518 by thread T55:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 8 at 0x7b0c00d08518 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007dfaf0 by thread T52:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x216748)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216748)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216748)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #52 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #53 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #54 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #55 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #56 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #57 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #58 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #59 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007dfaf0 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d43)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d43)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d43)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #56 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #57 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #58 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #59 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #60 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #61 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #62 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #63 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #64 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #65 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #66 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #67 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #68 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #69 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #70 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #71 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #72 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #73 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #74 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #75 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007dfac0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c00d08520 by thread T55:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous atomic read of size 4 at 0x7b0c00d08520 by thread T62:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x16072e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x16072e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x16072e)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x16072e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x16072e)
    #6 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:754 (libQmlJS.so.7+0x16072e)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16072e)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd000170038 by thread T52:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #52 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #53 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #54 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #55 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #56 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #57 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #58 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #59 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bd000170038 by thread T68:
    [failed to restore the stack]

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic write of size 4 at 0x7b0800a12b40 by thread T13:
    #0 __tsan_atomic32_fetch_add ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:615 (libtsan.so.0+0x7f0a9)
    #1 std::__atomic_base<int>::operator++() /usr/include/c++/9/bits/atomic_base.h:319 (libCPlusPlus.so.7+0x219d5e)
    #2 bool QAtomicOps<int>::ref<int>(std::atomic<int>&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:283 (libCPlusPlus.so.7+0x219d5e)
    #3 QBasicAtomicInteger<int>::ref() /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:118 (libCPlusPlus.so.7+0x219d5e)
    #4 QSharedPointer<CPlusPlus::CreateBindings>::ref() const /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:503 (libCPlusPlus.so.7+0x219d5e)
    #5 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:327 (libCPlusPlus.so.7+0x219d5e)
    #6 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d5e)
    #7 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d5e)
    #8 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #9 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #10 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #11 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #12 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #13 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #14 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #16 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #17 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #18 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #19 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #20 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #21 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #22 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #23 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #24 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #25 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #26 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #27 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #28 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #29 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #30 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #31 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #32 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #33 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #34 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #35 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #36 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #37 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #38 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #39 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #40 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #41 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #42 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #43 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #44 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #45 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #46 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #47 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #48 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #49 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #50 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #51 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #52 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #53 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #54 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #55 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #56 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #57 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #58 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #59 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #60 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #61 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #62 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #63 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #64 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #65 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #66 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #67 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #68 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #69 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #70 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #71 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #72 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #73 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #74 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #75 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #76 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #77 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #78 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #79 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #80 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0800a12b40 by thread T52:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QtSharedPointer::ExternalRefCountWithCustomDeleter<CPlusPlus::Document, QtSharedPointer::NormalDeleter>::create(CPlusPlus::Document*, QtSharedPointer::NormalDeleter, void (*)(QtSharedPointer::ExternalRefCountData*)) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:218 (libCPlusPlus.so.7+0x214deb)
    #2 void QSharedPointer<CPlusPlus::Document>::internalConstruct<CPlusPlus::Document, QtSharedPointer::NormalDeleter>(CPlusPlus::Document*, QtSharedPointer::NormalDeleter) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:481 (libCPlusPlus.so.7+0x214deb)
    #3 QSharedPointer<CPlusPlus::Document>::QSharedPointer<CPlusPlus::Document, true>(CPlusPlus::Document*) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:316 (libCPlusPlus.so.7+0x214deb)
    #4 CPlusPlus::Document::create(QString const&) ../../src/libs/cplusplus/CppDocument.cpp:661 (libCPlusPlus.so.7+0x214deb)
    #5 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:470 (libCppEditor.so+0x3d400f)
    #6 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #7 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #8 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #9 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #10 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #11 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #12 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #13 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #14 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #15 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #16 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #17 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #18 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #19 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #20 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #21 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #22 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #23 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #24 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #25 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #26 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #27 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #28 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #29 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #30 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #31 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #32 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #33 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #34 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #35 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #36 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #37 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #38 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #39 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #40 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #41 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #42 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #43 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #44 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #45 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #46 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #47 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #48 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #49 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #50 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #51 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #52 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #53 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #54 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #55 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #56 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 24 at 0x7b0800a12b40 allocated by thread T52:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QtSharedPointer::ExternalRefCountWithCustomDeleter<CPlusPlus::Document, QtSharedPointer::NormalDeleter>::create(CPlusPlus::Document*, QtSharedPointer::NormalDeleter, void (*)(QtSharedPointer::ExternalRefCountData*)) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:218 (libCPlusPlus.so.7+0x214deb)
    #2 void QSharedPointer<CPlusPlus::Document>::internalConstruct<CPlusPlus::Document, QtSharedPointer::NormalDeleter>(CPlusPlus::Document*, QtSharedPointer::NormalDeleter) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:481 (libCPlusPlus.so.7+0x214deb)
    #3 QSharedPointer<CPlusPlus::Document>::QSharedPointer<CPlusPlus::Document, true>(CPlusPlus::Document*) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:316 (libCPlusPlus.so.7+0x214deb)
    #4 CPlusPlus::Document::create(QString const&) ../../src/libs/cplusplus/CppDocument.cpp:661 (libCPlusPlus.so.7+0x214deb)
    #5 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:470 (libCppEditor.so+0x3d400f)
    #6 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #7 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #8 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #9 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #10 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #11 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #12 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #13 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #14 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #15 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #16 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #17 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #18 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #19 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #20 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #21 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #22 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #23 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #24 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #25 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #26 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #27 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #28 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #29 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #30 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #31 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #32 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #33 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #34 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #35 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #36 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #37 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #38 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #39 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #40 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #41 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #42 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #43 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #44 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #45 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #46 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #47 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #48 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #49 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #50 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #51 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #52 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #53 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #54 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #55 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #56 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:319 in std::__atomic_base<int>::operator++()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Write of size 8 at 0x7b0c00d08530 by thread T55:
    #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.0+0x8b748)
    #1 QHashData::free_helper(void (*)(QHashData::Node*)) tools/qhash.cpp:579 (libQt5Core.so.5+0xf42dc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous read of size 4 at 0x7b0c00d08534 by thread T62:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 (libQmlJS.so.7+0x16074d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16074d)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16074d)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00cf3c44 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x2166b7)
    #1 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x2166b7)
    #2 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #3 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #4 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #51 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #52 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #53 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #54 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #55 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #56 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #58 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #59 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c00cf3c40 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c00cf3c30 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd000170158 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bd000170158 by thread T13:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void, void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQmlJSTools.so+0x5ab44)
    #5 void QtPrivate::FunctionPointer<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call<QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQmlJSTools.so+0x5ab44)
    #6 QtPrivate::QSlotObject<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQmlJSTools.so+0x5ab44)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #10 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #57 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #58 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #59 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #60 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #61 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #62 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #63 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #64 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #65 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #66 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #67 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #68 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #69 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #70 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #71 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #72 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #73 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #74 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #75 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #76 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic read of size 4 at 0x7b0c0057f520 by thread T61:
    #0 __tsan_atomic32_load ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x7cd37)
    #1 std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/9/bits/atomic_base.h:419 (libQmlJS.so.7+0x16072e)
    #2 int QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:239 (libQmlJS.so.7+0x16072e)
    #3 QBasicAtomicInteger<int>::loadRelaxed() const /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:107 (libQmlJS.so.7+0x16072e)
    #4 QtPrivate::RefCount::isShared() const /usr/local/Qt-5.15.2/include/QtCore/qrefcount.h:101 (libQmlJS.so.7+0x16072e)
    #5 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libQmlJS.so.7+0x16072e)
    #6 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:754 (libQmlJS.so.7+0x16072e)
    #7 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16072e)
    #8 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #9 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #10 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #11 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #12 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #13 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #14 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #15 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #16 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #17 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0057f520 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0057f510 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:419 in std::__atomic_base<int>::load(std::memory_order) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c00cf3c50 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 (libCPlusPlus.so.7+0x2202b5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #52 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #53 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #54 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #55 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #56 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #59 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #60 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c00cf3c50 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c00cf3c30 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:945 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b0c0057f534 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 (libQmlJS.so.7+0x16074d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16074d)
    #2 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16074d)
    #3 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #4 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #5 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #6 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #12 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0057f530 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0057f510 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:946 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c00cf3c38 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libCPlusPlus.so.7+0x2201ce)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #47 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #48 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #49 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #50 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #51 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #52 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #53 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #54 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #55 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #56 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #59 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #60 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0c00cf3c38 by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 48 at 0x7b0c00cf3c30 allocated by thread T13:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b0c0057f518 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 (libQmlJS.so.7+0x168c7d)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b0c0057f518 by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 48 at 0x7b0c0057f510 allocated by thread T55:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:503 (libQt5Core.so.5+0xf4325)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:929 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10007f0ec8 by thread T68:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #55 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #56 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #57 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #59 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #60 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #61 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #62 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007f0ec8 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007f0ec0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b44002eda10 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168c94)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b44002eda10 by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 296 at 0x7b44002ed9c0 allocated by thread T55:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007f0ec0 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x220233)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #47 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #48 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #49 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #50 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #51 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #52 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #53 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #54 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #55 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #56 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #59 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #60 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #61 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007f0ec0 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007f0ec0 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b08005b9468 by thread T61:
    #0 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libQmlJS.so.7+0x168cfe)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168cfe)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #3 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #5 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #6 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #7 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #8 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #11 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #13 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #14 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08005b9468 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08005b9460 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::same_key(unsigned int, QString const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007f0f28 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x21672f)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x21672f)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x21672f)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #52 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #53 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #54 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #55 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #56 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #59 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #60 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007f0f28 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d26)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d26)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d26)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #56 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #57 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #58 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #59 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #60 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #61 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #62 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #63 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #64 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #65 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #66 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #67 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #68 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #69 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #70 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #71 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #72 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #73 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #74 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #75 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007f0f00 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005b9460 by thread T61:
    #0 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libQmlJS.so.7+0x168ce3)
    #1 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libQmlJS.so.7+0x16076f)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::operator[](QString const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:757 (libQmlJS.so.7+0x16076f)
    #3 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x16076f)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08005b9460 by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08005b9460 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::findNode(QString const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007f0f30 by thread T68:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x216748)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216748)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216748)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:196 (libCppEditor.so+0x111df3)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111df3)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #52 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #53 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #54 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #55 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #56 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #59 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #60 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007f0f30 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d43)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d43)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d43)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #56 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #57 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #58 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #59 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #60 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #61 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #62 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #63 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #64 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #65 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #66 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #67 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #68 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #69 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #70 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #71 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #72 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #73 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #74 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #75 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007f0f00 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b08005b9298 by thread T61:
    #0 QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 (libQmlJS.so.7+0x169273)
    #1 QmlJS::Snapshot::insert(QSharedPointer<QmlJS::Document const> const&, bool) ../../src/libs/qmljs/qmljsdocument.cpp:477 (libQmlJS.so.7+0x1607a9)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7b08005b9298 by thread T55:
    #0 QList<QSharedPointer<QmlJS::Document const> >::QList(QList<QSharedPointer<QmlJS::Document const> > const&) /usr/local/Qt-5.15.2/include/QtCore/qlist.h:854 (libQmlJS.so.7+0x154ad4)
    #1 QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >::QHashNode(QString const&, QList<QSharedPointer<QmlJS::Document const> > const&, unsigned int, QHashNode<QString, QList<QSharedPointer<QmlJS::Document const> > >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libQmlJS.so.7+0x154d85)
    #2 QHash<QString, QList<QSharedPointer<QmlJS::Document const> > >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libQmlJS.so.7+0x154d85)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 32 at 0x7b08005b9280 allocated by thread T55:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:682 (libQmlJS.so.7+0x1ca5e7)
    #3 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #4 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #5 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #6 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #7 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #9 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #10 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #11 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qlist.h:622 in QList<QSharedPointer<QmlJS::Document const> >::append(QSharedPointer<QmlJS::Document const> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd0001701a0 by thread T68:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #52 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #53 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #54 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #55 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #56 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #59 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #60 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bd0001701a0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b74002e8b18 by thread T52:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x2201e5)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #3 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #5 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #6 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #8 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #9 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #10 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #11 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #12 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #13 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #14 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #15 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #16 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #17 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #18 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #19 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #20 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #21 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #22 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #23 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #24 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #25 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #26 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #27 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #28 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #29 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #30 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #31 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #32 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #33 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #34 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #35 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #36 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #37 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #38 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #39 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #40 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #41 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #42 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #43 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #44 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #45 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #46 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #47 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #48 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #49 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #50 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #51 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #52 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #53 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #54 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #55 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #56 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #57 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #58 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #59 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #60 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #61 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #62 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #63 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #64 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #65 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #66 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b74002e8b18 by thread T13:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 2056 at 0x7b74002e8600 allocated by thread T13:
    #0 operator new[](unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:70 (libtsan.so.0+0x8c182)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:519 (libQt5Core.so.5+0xf43cc)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd000170200 by thread T13:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #58 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #59 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #60 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #61 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #62 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #63 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #64 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #65 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #66 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #67 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #68 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #69 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #70 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #71 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bd000170200 by thread T68:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #52 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #53 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #54 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #55 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #56 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #57 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #59 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #60 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10007cdc48 by thread T52:
    #0 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 (libCPlusPlus.so.7+0x22024e)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:931 (libCPlusPlus.so.7+0x22024e)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::findNode(Utils::FilePath const&, unsigned int*) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:950 (libCPlusPlus.so.7+0x2202f8)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:656 (libCPlusPlus.so.7+0x216704)
    #4 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216704)
    #5 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #6 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #60 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #61 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #62 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #63 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #64 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #65 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #66 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #67 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007cdc48 by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007cdc40 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:156 in QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::same_key(unsigned int, Utils::FilePath const&) const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd000170290 by thread T68:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void, void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQmlJSTools.so+0x5ab44)
    #5 void QtPrivate::FunctionPointer<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call<QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQmlJSTools.so+0x5ab44)
    #6 QtPrivate::QSlotObject<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQmlJSTools.so+0x5ab44)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #10 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #58 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #59 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #60 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #61 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #64 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bd000170290 by thread T13:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #58 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #59 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #60 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #61 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #62 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #63 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #64 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #65 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #66 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #67 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #68 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #69 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #70 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #71 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007cdc68 by thread T52:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x21672f)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x21672f)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x21672f)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #58 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #59 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #60 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #61 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #62 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #63 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #64 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007cdc68 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d26)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d26)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d26)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #56 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #57 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #58 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #59 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #60 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #61 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #62 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #63 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #64 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #65 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #66 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #67 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #68 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #69 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #70 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #71 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #72 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #73 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #74 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #75 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007cdc40 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd0001702a8 by thread T13:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void, void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQmlJSTools.so+0x5ab44)
    #5 void QtPrivate::FunctionPointer<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call<QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQmlJSTools.so+0x5ab44)
    #6 QtPrivate::QSlotObject<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQmlJSTools.so+0x5ab44)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #10 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #57 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #58 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #59 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #60 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #61 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #62 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #63 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #64 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #65 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #66 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #67 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #68 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #69 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #70 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #71 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #72 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #73 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #74 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #75 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #76 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bd0001702a8 by thread T68:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void, void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libQmlJSTools.so+0x5ab44)
    #5 void QtPrivate::FunctionPointer<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&)>::call<QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>(void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QmlJS::ModelManagerInterface*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libQmlJSTools.so+0x5ab44)
    #6 QtPrivate::QSlotObject<void (QmlJS::ModelManagerInterface::*)(QSharedPointer<CPlusPlus::Document> const&), QtPrivate::List<QSharedPointer<CPlusPlus::Document> >, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libQmlJSTools.so+0x5ab44)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #10 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #58 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #59 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #60 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #61 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #64 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007cdc70 by thread T52:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x216748)
    #1 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::value(Utils::FilePath const&) const /usr/local/Qt-5.15.2/include/QtCore/qhash.h:659 (libCPlusPlus.so.7+0x216748)
    #2 CPlusPlus::Snapshot::document(Utils::FilePath const&) const ../../src/libs/cplusplus/CppDocument.cpp:968 (libCPlusPlus.so.7+0x216748)
    #3 CPlusPlus::Snapshot::document(QString const&) const ../../src/libs/cplusplus/CppDocument.h:420 (libCppEditor.so+0x2d82ce)
    #4 CppEditor::CppModelManager::document(QString const&) const ../../src/plugins/cppeditor/cppmodelmanager.cpp:689 (libCppEditor.so+0x2d82ce)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:289 (libCppEditor.so+0x2d93d1)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d93d1)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #58 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #59 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #60 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #61 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #62 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #63 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #64 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007cdc70 by thread T13:
    #0 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 (libCPlusPlus.so.7+0x219d43)
    #1 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d43)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d43)
    #3 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #4 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #6 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #7 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #8 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #9 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #10 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #11 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #44 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #45 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #46 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #47 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #48 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #49 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #50 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #51 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #52 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #53 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #54 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #55 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #56 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #57 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #58 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #59 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #60 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #61 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #62 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #63 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #64 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #65 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #66 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #67 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #68 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #69 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #70 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #71 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #72 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #73 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #74 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #75 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 56 at 0x7b10007cdc40 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #54 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #55 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #56 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #57 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #58 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #59 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #60 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #61 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #62 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #63 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #64 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #65 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #66 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #67 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #68 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #69 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #70 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #71 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #72 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #73 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:326 in QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd000170368 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 std::function<bool (double)>::operator()(double) const /usr/include/c++/9/bits/std_function.h:688 (libQmlJS.so.7+0x1d9c40)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:929 (libQmlJS.so.7+0x1d9c40)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bd000170368 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 4 at 0x7b10007cca48 by thread T68:
    #0 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c60)
    #1 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #2 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #4 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #5 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #6 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #7 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #8 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #9 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #10 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #11 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #12 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #13 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #14 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #15 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #16 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #17 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #18 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #19 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #20 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #21 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #22 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #23 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #24 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #25 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #26 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #27 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #28 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #29 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #30 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #31 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #32 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #33 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #34 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #35 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #36 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #37 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #38 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #39 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #40 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #41 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #42 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #43 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #44 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #45 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #46 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #47 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #48 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #49 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #50 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #51 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #52 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #53 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #54 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #55 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #56 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #57 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #58 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #59 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #60 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #61 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #62 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007cca48 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007cca40 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #57 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #58 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #59 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #60 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #61 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #62 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #63 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #64 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #65 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #66 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #67 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #68 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #69 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #70 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 in QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd000170398 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bd000170398 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007cca50 by thread T68:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219c89)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219c89)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219c89)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219c89)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #58 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #59 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #60 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #61 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #64 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007cca50 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007cca40 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #57 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #58 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #59 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #60 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #61 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #62 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #63 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #64 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #65 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #66 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #67 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #68 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #69 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #70 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd0001703b0 by thread T52:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #58 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #59 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #60 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #61 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #62 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #63 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #64 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bd0001703b0 by thread T55:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::importScan(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1107 (libQmlJS.so.7+0x1db8df)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1dc588)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1dc588)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages, QmlJS::ModelManagerInterface*, bool, bool, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QmlJS::PathsAndLanguages&&, QmlJS::ModelManagerInterface*&&, bool&&, bool&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1dc588)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1dc588)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QmlJS::PathsAndLanguages const&, QmlJS::ModelManagerInterface*, bool, bool, bool), QmlJS::ModelManagerInterface::WorkingCopy, QmlJS::PathsAndLanguages&, QmlJS::ModelManagerInterface*, bool, bool, bool>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1dc588)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T55 'QThread' (tid=1303385, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateImportPaths() ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1264 (libQmlJS.so.7+0x1d6f77)
    #3 QmlJS::ModelManagerInterface::refreshSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:362 (libQmlJS.so.7+0x1d8800)
    #4 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #5 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #8 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #9 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #11 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #12 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #13 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #14 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #15 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #16 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #17 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #18 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #19 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #20 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #21 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #22 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007cca58 by thread T68:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219cb9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219cb9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219cb9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219cb9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #58 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #59 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #60 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #61 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #64 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007cca58 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007cca40 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #57 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #58 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #59 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #60 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #61 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #62 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #63 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #64 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #65 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #66 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #67 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #68 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #69 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #70 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd0001703c8 by thread T61:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 std::function<bool (double)>::operator()(double) const /usr/include/c++/9/bits/std_function.h:688 (libQmlJS.so.7+0x1d9c40)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:929 (libQmlJS.so.7+0x1d9c40)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bd0001703c8 by thread T52:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #58 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #59 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #60 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #61 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #62 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #63 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #64 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T61 'QThread' (tid=1303291, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:586 (libQmlJS.so.7+0x1d9088)
    #4 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #5 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #6 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #7 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #9 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #10 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #11 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #12 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #13 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #14 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #15 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #16 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #17 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #18 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #19 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #20 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7b10007cca60 by thread T68:
    #0 QString::QString(QString const&) /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 (libCPlusPlus.so.7+0x219ce9)
    #1 Utils::FilePath::FilePath(Utils::FilePath const&) ../../src/libs/utils/filepath.h:66 (libCPlusPlus.so.7+0x219ce9)
    #2 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219ce9)
    #3 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219ce9)
    #4 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #5 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #6 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #7 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #8 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #9 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #10 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #11 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #12 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #57 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #58 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #59 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #60 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #61 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #62 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #63 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #64 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b10007cca60 by thread T13:
    [failed to restore the stack]

  Location is heap block of size 56 at 0x7b10007cca40 allocated by thread T13:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QHashData::allocateNode(int) tools/qhash.cpp:479 (libQt5Core.so.5+0xf4234)
    #2 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #3 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #4 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #5 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #6 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #7 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #8 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #9 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #10 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #11 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #12 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #13 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #14 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #15 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1652 (libCPlusPlus.so.7+0x2959a7)
    #16 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #17 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #18 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #19 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #20 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #21 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #22 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #23 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #24 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #25 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #26 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #27 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #28 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #29 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #30 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #31 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #32 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #33 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #34 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #35 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #36 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #37 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #38 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #39 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #40 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #41 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #42 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #43 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #44 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #45 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #46 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #47 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #48 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #49 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #50 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #51 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #52 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #53 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #54 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #55 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #56 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #57 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #58 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #59 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #60 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #61 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #62 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #63 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #64 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #65 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #66 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #67 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #68 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #69 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #70 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T13 'Thread (pooled)' (tid=1303943, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/local/Qt-5.15.2/include/QtCore/qstring.h:1093 in QString::QString(QString const&)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd000170458 by thread T52:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #21 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #22 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #23 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #24 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #25 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #26 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #27 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #28 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #29 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #30 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #31 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #32 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #33 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #34 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #35 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #36 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #37 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #38 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #39 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #40 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #41 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #42 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #43 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #44 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #45 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #46 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #47 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #48 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #49 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #50 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #51 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #52 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #53 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #54 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #55 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #56 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #57 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #58 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #59 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #60 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #61 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #62 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #63 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #64 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #65 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7bd000170458 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::emitDocumentChangedOnDisk(QSharedPointer<QmlJS::Document const>) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:670 (libQmlJS.so.7+0x1ca547)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1005 (libQmlJS.so.7+0x1da697)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Location is heap block of size 131064 at 0x7bd000160000 allocated by thread T68:
    #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:651 (libtsan.so.0+0x30323)
    #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) tools/qarraydata.cpp:218 (libQt5Core.so.5+0xc6042)
    #2 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #3 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #4 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #5 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #6 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #7 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #8 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #9 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #10 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #11 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #12 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #13 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #14 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #15 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #16 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #17 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #18 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #19 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #20 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #21 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #22 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #23 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #24 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #25 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #26 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #27 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #28 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #29 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #30 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #31 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #32 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #33 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #34 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #35 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #36 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #37 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #38 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #39 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #40 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #41 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #42 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #43 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #44 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #45 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #46 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #47 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #48 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #49 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #50 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #51 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #52 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T62 'QThread' (tid=1303471, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 QmlJS::ModelManagerInterface::updateSourceFiles(QStringList const&, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:334 (libQmlJS.so.7+0x1d890b)
    #3 operator() ../../src/plugins/qmljstools/qmljslocatordata.cpp:55 (libQmlJSTools.so+0x529b2)
    #4 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libQmlJSTools.so+0x529b2)
    #5 call<QtPrivate::List<const QmlJS::ModelManagerInterface::ProjectInfo&>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libQmlJSTools.so+0x529b2)
    #6 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libQmlJSTools.so+0x529b2)
    #7 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #8 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #9 QmlJS::ModelManagerInterface::updateProjectInfo(QmlJS::ModelManagerInterface::ProjectInfo const&, ProjectExplorer::Project*) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:596 (libQmlJS.so.7+0x1d9497)
    #10 CMakeProjectManager::Internal::CMakeBuildSystem::updateQmlJSCodeModel(QStringList const&, QList<QByteArray> const&) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:1233 (libCMakeProjectManager.so+0x961c4)
    #11 CMakeProjectManager::Internal::CMakeBuildSystem::updateProjectData() ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:672 (libCMakeProjectManager.so+0xa1274)
    #12 CMakeProjectManager::Internal::CMakeBuildSystem::combineScanAndParse(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:512 (libCMakeProjectManager.so+0xa2d50)
    #13 CMakeProjectManager::Internal::CMakeBuildSystem::handleParsingSucceeded(bool) ../../src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp:784 (libCMakeProjectManager.so+0xa3519)
    #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:152 (libCMakeProjectManager.so+0xa73f0)
    #15 void QtPrivate::FunctionPointer<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool)>::call<QtPrivate::List<bool>, void>(void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), CMakeProjectManager::Internal::CMakeBuildSystem*, void**) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:185 (libCMakeProjectManager.so+0xa73f0)
    #16 QtPrivate::QSlotObject<void (CMakeProjectManager::Internal::CMakeBuildSystem::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:418 (libCMakeProjectManager.so+0xa73f0)
    #17 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #18 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #19 operator() ../../src/plugins/cmakeprojectmanager/fileapireader.cpp:287 (libCMakeProjectManager.so+0x1b3eb7)
    #20 operator() ../../src/libs/utils/runextensions.h:580 (libCMakeProjectManager.so+0x1b3eb7)
    #21 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCMakeProjectManager.so+0x1b3eb7)
    #22 call<QtPrivate::List<int>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCMakeProjectManager.so+0x1b3eb7)
    #23 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCMakeProjectManager.so+0x1b3eb7)
    #24 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x3071e9)
    #25 void doActivate<false>(QObject*, int, void**) kernel/qobject.cpp:3886 (libQt5Core.so.5+0x3071e9)
    #26 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 in memmove
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Atomic write of size 4 at 0x7b0800a38840 by thread T68:
    #0 __tsan_atomic32_fetch_add ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cpp:615 (libtsan.so.0+0x7f0a9)
    #1 std::__atomic_base<int>::operator++() /usr/include/c++/9/bits/atomic_base.h:319 (libCPlusPlus.so.7+0x219d5e)
    #2 bool QAtomicOps<int>::ref<int>(std::atomic<int>&) /usr/local/Qt-5.15.2/include/QtCore/qatomic_cxx11.h:283 (libCPlusPlus.so.7+0x219d5e)
    #3 QBasicAtomicInteger<int>::ref() /usr/local/Qt-5.15.2/include/QtCore/qbasicatomic.h:118 (libCPlusPlus.so.7+0x219d5e)
    #4 QSharedPointer<CPlusPlus::CreateBindings>::ref() const /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:503 (libCPlusPlus.so.7+0x219d5e)
    #5 QSharedPointer<CPlusPlus::Document>::QSharedPointer(QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:327 (libCPlusPlus.so.7+0x219d5e)
    #6 QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::QHashNode(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&, unsigned int, QHashNode<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:155 (libCPlusPlus.so.7+0x219d5e)
    #7 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::duplicateNode(QHashData::Node*, void*) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:603 (libCPlusPlus.so.7+0x219d5e)
    #8 QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) tools/qhash.cpp:537 (libQt5Core.so.5+0xf4422)
    #9 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::detach() /usr/local/Qt-5.15.2/include/QtCore/qhash.h:291 (libCPlusPlus.so.7+0x217c67)
    #10 QHash<Utils::FilePath, QSharedPointer<CPlusPlus::Document> >::insert(Utils::FilePath const&, QSharedPointer<CPlusPlus::Document> const&) /usr/local/Qt-5.15.2/include/QtCore/qhash.h:770 (libCPlusPlus.so.7+0x217c67)
    #11 CPlusPlus::Snapshot::insert(QSharedPointer<CPlusPlus::Document>) ../../src/libs/cplusplus/CppDocument.cpp:842 (libCPlusPlus.so.7+0x217c67)
    #12 CppEditor::CppModelManager::replaceDocument(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:704 (libCppEditor.so+0x2d84bd)
    #13 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1287 (libCppEditor.so+0x2d92a5)
    #14 operator() ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:201 (libCppEditor.so+0x111eec)
    #15 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x111eec)
    #16 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #17 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #18 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #19 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #20 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #21 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #22 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #23 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #24 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #25 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #26 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #27 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #28 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #29 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #30 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #31 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #32 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #33 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #34 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #35 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #36 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #37 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #38 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #39 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #40 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #41 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #42 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #43 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #44 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #45 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #46 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #47 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #48 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #49 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #50 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #51 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #52 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #53 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #54 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #55 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #56 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #57 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #58 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #59 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #60 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #61 CppEditor::BuiltinEditorDocumentParser::updateImpl(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/builtineditordocumentparser.cpp:219 (libCppEditor.so+0x11831e)
    #62 CppEditor::BaseEditorDocumentParser::update(QFutureInterface<void> const&, CppEditor::BaseEditorDocumentParser::UpdateParams const&) ../../src/plugins/cppeditor/baseeditordocumentparser.cpp:90 (libCppEditor.so+0x1060ec)
    #63 CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams) ../../src/plugins/cppeditor/baseeditordocumentprocessor.cpp:93 (libCppEditor.so+0x107d89)
    #64 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x125546)
    #65 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x125546)
    #66 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>&&, CppEditor::BaseEditorDocumentParser::UpdateParams&&) ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x125546)
    #67 void Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x125546)
    #68 Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run() ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x125546)
    #69 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Previous write of size 8 at 0x7b0800a38840 by thread T52:
    [failed to restore the stack]

  Location is heap block of size 24 at 0x7b0800a38840 allocated by thread T52:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8c032)
    #1 QtSharedPointer::ExternalRefCountWithCustomDeleter<CPlusPlus::Document, QtSharedPointer::NormalDeleter>::create(CPlusPlus::Document*, QtSharedPointer::NormalDeleter, void (*)(QtSharedPointer::ExternalRefCountData*)) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:218 (libCPlusPlus.so.7+0x214deb)
    #2 void QSharedPointer<CPlusPlus::Document>::internalConstruct<CPlusPlus::Document, QtSharedPointer::NormalDeleter>(CPlusPlus::Document*, QtSharedPointer::NormalDeleter) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:481 (libCPlusPlus.so.7+0x214deb)
    #3 QSharedPointer<CPlusPlus::Document>::QSharedPointer<CPlusPlus::Document, true>(CPlusPlus::Document*) /usr/local/Qt-5.15.2/include/QtCore/qsharedpointer_impl.h:316 (libCPlusPlus.so.7+0x214deb)
    #4 CPlusPlus::Document::create(QString const&) ../../src/libs/cplusplus/CppDocument.cpp:661 (libCPlusPlus.so.7+0x214deb)
    #5 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:470 (libCppEditor.so+0x3d400f)
    #6 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #7 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #8 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #9 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #10 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #11 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #12 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #13 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #14 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #15 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #16 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #17 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #18 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #19 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #20 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #21 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #22 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #23 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #24 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #25 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #26 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #27 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #28 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #29 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #30 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #31 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #32 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #33 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #34 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #35 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #36 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #37 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #38 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #39 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #40 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #41 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #42 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #43 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #44 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #45 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #46 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #47 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #48 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #49 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #50 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #51 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #52 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #53 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #54 CppEditor::Internal::CppSourceProcessor::run(QString const&, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:191 (libCppEditor.so+0x3cd499)
    #55 index ../../src/plugins/cppeditor/builtinindexingsupport.cpp:235 (libCppEditor.so+0x12f38e)
    #56 parse ../../src/plugins/cppeditor/builtinindexingsupport.cpp:256 (libCppEditor.so+0x12f38e)
    #57 runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:257 (libCppEditor.so+0x1292f3)
    #58 runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:274 (libCppEditor.so+0x1292f3)
    #59 runAsyncImpl<void, void (*)(QFutureInterface<void>&, CppEditor::Internal::(anonymous namespace)::ParseParams), CppEditor::Internal::(anonymous namespace)::ParseParams> ../../src/libs/utils/runextensions.h:303 (libCppEditor.so+0x1292f3)
    #60 runHelper<0, 1> ../../src/libs/utils/runextensions.h:372 (libCppEditor.so+0x1292f3)
    #61 run ../../src/libs/utils/runextensions.h:352 (libCppEditor.so+0x1292f3)
    #62 QThreadPoolThread::run() thread/qthreadpool.cpp:100 (libQt5Core.so.5+0xbbf6e)

  Thread T68 'Thread (pooled)' (tid=1303941, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

  Thread T52 'Thread (pooled)' (tid=1303938, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
    #1 QThread::start(QThread::Priority) thread/qthread_unix.cpp:703 (libQt5Core.so.5+0xb7105)
    #2 CppEditor::CppModelManager::updateSourceFiles(QSet<QString> const&, CppEditor::CppModelManager::ProgressNotificationMode) ../../src/plugins/cppeditor/cppmodelmanager.cpp:949 (libCppEditor.so+0x2dc048)
    #3 CppEditor::AbstractEditorSupport::updateDocument() ../../src/plugins/cppeditor/abstracteditorsupport.cpp:52 (libCppEditor.so+0x105642)
    #4 CppEditor::GeneratedCodeModelSupport::onContentsChanged(Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:97 (libCppEditor.so+0x411f3f)
    #5 CppEditor::GeneratedCodeModelSupport::GeneratedCodeModelSupport(CppEditor::CppModelManager*, ProjectExplorer::ExtraCompiler*, Utils::FilePath const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:82 (libCppEditor.so+0x412a32)
    #6 operator() ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:128 (libCppEditor.so+0x413000)
    #7 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x413000)
    #8 std::function<void (Utils::FilePath const&)>::operator()(Utils::FilePath const&) const /usr/include/c++/9/bits/std_function.h:688 (libProjectExplorer.so+0x344aa6)
    #9 ProjectExplorer::ExtraCompiler::forEachTarget(std::function<void (Utils::FilePath const&)>) ../../src/plugins/projectexplorer/extracompiler.cpp:155 (libProjectExplorer.so+0x344aa6)
    #10 CppEditor::GeneratedCodeModelSupport::update(QList<ProjectExplorer::ExtraCompiler*> const&) ../../src/plugins/cppeditor/generatedcodemodelsupport.cpp:127 (libCppEditor.so+0x4132c1)
    #11 CppEditor::CppProjectUpdater::checkForExtraCompilersFinished() ../../src/plugins/cppeditor/cppprojectupdater.cpp:166 (libCppEditor.so+0x313e97)
    #12 operator() ../../src/plugins/cppeditor/cppprojectupdater.cpp:108 (libCppEditor.so+0x3145f0)
    #13 call /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:146 (libCppEditor.so+0x3145f0)
    #14 call<QtPrivate::List<>, void> /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:256 (libCppEditor.so+0x3145f0)
    #15 impl /usr/local/Qt-5.15.2/include/QtCore/qobjectdefs_impl.h:443 (libCppEditor.so+0x3145f0)
    #16 QtPrivate::QSlotObjectBase::call(QObject*, void**) ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 (libQt5Core.so.5+0x2f6c80)
    #17 QMetaCallEvent::placeMetaCall(QObject*) kernel/qobject.cpp:615 (libQt5Core.so.5+0x2f6c80)
    #18 __libc_start_main ../csu/libc-start.c:308 (libc.so.6+0x24082)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/9/bits/atomic_base.h:319 in std::__atomic_base<int>::operator++()
==================
==================
WARNING: ThreadSanitizer: data race (pid=1301465)
  Read of size 8 at 0x7bd0001704b8 by thread T62:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 QmlJS::ModelManagerInterface::updateDocument(QSharedPointer<QmlJS::Document const> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:685 (libQmlJS.so.7+0x1ca655)
    #5 QmlJS::ModelManagerInterface::parseLoop(QSet<QString>&, QSet<QString>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1003 (libQmlJS.so.7+0x1da616)
    #6 QmlJS::ModelManagerInterface::parse(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool) ../../src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1044 (libQmlJS.so.7+0x1daeea)
    #7 void Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(std::integral_constant<bool, true>, QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:257 (libQmlJS.so.7+0x1ddd37)
    #8 void Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, void>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:274 (libQmlJS.so.7+0x1ddd37)
    #9 void Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool>(QFutureInterface<void>&, void (*&&)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy&&, QStringList&&, QmlJS::ModelManagerInterface*&&, QmlJS::Dialect&&, bool&&) ../../src/libs/utils/runextensions.h:303 (libQmlJS.so.7+0x1ddd37)
    #10 void Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::runHelper<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) ../../src/libs/utils/runextensions.h:372 (libQmlJS.so.7+0x1ddd37)
    #11 Utils::Internal::AsyncJob<void, void (*)(QFutureInterface<void>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QStringList, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool), QmlJS::ModelManagerInterface::WorkingCopy, QStringList const&, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool&>::run() ../../src/libs/utils/runextensions.h:352 (libQmlJS.so.7+0x1ddd37)
    #12 Utils::Internal::RunnableThread::run() ../../src/libs/utils/runextensions.cpp:39 (libUtils.so.7+0x32edd5)
    #13 QThreadPrivate::start(void*) thread/qthread_unix.cpp:329 (libQt5Core.so.5+0xb7a5b)

  Previous write of size 8 at 0x7bd0001704b8 by thread T52:
    #0 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:806 (libtsan.so.0+0x42a23)
    #1 memmove ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:804 (libtsan.so.0+0x42a23)
    #2 memmove /usr/include/x86_64-linux-gnu/bits/string_fortified.h:40 (libQt5Core.so.5+0x2cd618)
    #3 QVector<QPostEvent>::insert(QPostEvent*, int, QPostEvent const&) ../../include/QtCore/../../src/corelib/tools/qvector.h:862 (libQt5Core.so.5+0x2cd618)
    #4 CppEditor::CppModelManager::emitDocumentUpdated(QSharedPointer<CPlusPlus::Document>) ../../src/plugins/cppeditor/cppmodelmanager.cpp:1288 (libCppEditor.so+0x2d930c)
    #5 operator() ../../src/plugins/cppeditor/cppmodelmanager.cpp:294 (libCppEditor.so+0x2d9499)
    #6 _M_invoke /usr/include/c++/9/bits/std_function.h:300 (libCppEditor.so+0x2d9499)
    #7 std::function<void (QSharedPointer<CPlusPlus::Document> const&)>::operator()(QSharedPointer<CPlusPlus::Document> const&) const /usr/include/c++/9/bits/std_function.h:688 (libCppEditor.so+0x3d562c)
    #8 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:506 (libCppEditor.so+0x3d562c)
    #9 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #10 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #11 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #12 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #13 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #14 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781)
    #15 CPlusPlus::Preprocessor::handleIncludeDirective(CPlusPlus::Internal::PPToken*, bool) ../../src/libs/cplusplus/pp-engine.cpp:1705 (libCPlusPlus.so.7+0x293820)
    #16 CPlusPlus::Preprocessor::handlePreprocessorDirective(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:1650 (libCPlusPlus.so.7+0x29590e)
    #17 CPlusPlus::Preprocessor::lex(CPlusPlus::Internal::PPToken*) ../../src/libs/cplusplus/pp-engine.cpp:884 (libCPlusPlus.so.7+0x28c05a)
    #18 CPlusPlus::Preprocessor::preprocess(QString const&, QByteArray const&, QByteArray*, QByteArray*, bool, bool, bool, unsigned int, unsigned int, unsigned int) ../../src/libs/cplusplus/pp-engine.cpp:1434 (libCPlusPlus.so.7+0x28eae2)
    #19 CPlusPlus::Preprocessor::run(QString const&, QByteArray const&, bool, bool) ../../src/libs/cplusplus/pp-engine.cpp:765 (libCPlusPlus.so.7+0x29061f)
    #20 CppEditor::Internal::CppSourceProcessor::sourceNeeded(int, QString const&, CPlusPlus::Client::IncludeType, QStringList const&) ../../src/plugins/cppeditor/cppsourceprocessor.cpp:482 (libCppEditor.so+0x3d4781